Java 类net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession 实例源码
项目:McMod-CubicVillager
文件:TileEntityVillagerBlockRenderer.java
@Override
public void render(TileEntityVillager tileEntity, double x, double y, double z, float partialTicks, int destroyStage, float alpha)
{
World worldClient = tileEntity.getWorld();
IBlockState bs = worldClient.getBlockState(tileEntity.getPos());
String professionNameString = tileEntity.getProfession();
ResourceLocation professionName = new ResourceLocation(professionNameString);
VillagerProfession profession = PROFESSIONS.getObject(professionName);
if(profession == null)
{
profession = PROFESSIONS.getObjectById(0);
}
this.drawVillagerHead(x, y, z, bs, profession);
}
项目:pnc-repressurized
文件:VillagerHandler.java
public static void init() {
mechanicProfession = new VillagerProfession(Names.MOD_ID + ":mechanic",
Textures.VILLAGER_MECHANIC, "minecraft:textures/entity/zombie_villager/zombie_villager.png");
VillagerCareer career = new VillagerCareer(mechanicProfession, Names.MOD_ID + ".mechanic");
career.addTrade(1,
new ListItemForEmeralds(Itemss.PCB_BLUEPRINT, new PriceInfo(10, 19)),
new ListItemForEmeralds(Itemss.NUKE_VIRUS, new PriceInfo(1, 5)),
new ListItemForEmeralds(Itemss.STOP_WORM, new PriceInfo(1, 5))
);
for (int i = 0; i < ItemAssemblyProgram.PROGRAMS_AMOUNT; i++) {
career.addTrade(1,
new ListItemForEmeralds(new ItemStack(Itemss.ASSEMBLY_PROGRAM, 1, i), new PriceInfo(5, 11)));
}
}
项目:harshencastle
文件:HarshenVillagers.java
private static VillagerProfession regProfession(String name)
{
VillagerProfession prof = new VillagerProfession(HarshenCastle.MODID + ":" + name, HarshenCastle.MODID + ":textures/entity/villager/" + name + ".png",
HarshenCastle.MODID + ":textures/entity/zombie_villager/" + name + ".png");
ForgeRegistries.VILLAGER_PROFESSIONS.register(prof);
return prof;
}
项目:VillagerTrades
文件:ModCommand.java
@Override
public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException
{
World world = sender.getEntityWorld();
if (!world.isRemote)
{
if (args.length == 0)
{
for (Map.Entry<Integer, String> kvp : VillagerRegistryHelper.getProfessionIdsAndNamesSortedById())
{
sender.sendMessage(new TextComponentString(kvp.getKey() + ": " + kvp.getValue()));
}
return;
}
if (args.length == 2 && args[0].equals("profession"))
{
VillagerProfession profession = VillagerRegistryHelper.getProfession(args[1]);
if (profession != null)
{
for (VillagerCareer career : new VTTVillagerProfession(profession).getCareers())
{
VTTVillagerCareer vttCareer = new VTTVillagerCareer(career);
sender.sendMessage(new TextComponentString(vttCareer.getId() + ": " + vttCareer.getName()));
sender.sendMessage(new TextComponentString(" " + vttCareer.getCareerLevels() + " levels"));
}
}
}
}
}
项目:EssentialFeatures
文件:VillagerMechanic.java
@SubscribeEvent
public static void registerSoundEvents(RegistryEvent.Register<VillagerProfession> event) {
if (!ModConfig.villagers)
return;
event.getRegistry().registerAll(
MECHANIC_PROFESSION
);
}
项目:Cyclic
文件:VillagerCreateModule.java
private void addVillager(String name, EntityVillager.ITradeList[][] trades) {
VillagerProfession prof = new VillagerProfession(Const.MODRES + name,
Const.MODRES + "textures/entity/villager/" + name + ".png",
"minecraft:textures/entity/zombie_villager/zombie_villager.png");
VillagerProfRegistry.register(prof);
VillagerCareer villager = new VillagerCareer(prof, name);
for (int i = 0; i < trades.length; i++) {
villager.addTrade(i + 1, trades[i]);
}
}
项目:McMod-CubicVillager
文件:TileEntityVillagerBlockRenderer.java
public void drawVillagerHead(double x, double y, double z, IBlockState block, VillagerProfession profession)
{
GL11.glPushAttrib(GL11.GL_ENABLE_BIT);
GL11.glPushMatrix();
GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glScalef(0.33333F, -0.33333F, -0.33333F);
ResourceLocation villagerTexture = profession.getSkin();
if(this.rendererDispatcher == null)
{
this.rendererDispatcher = TileEntityRendererDispatcher.instance;
}
this.bindTexture(villagerTexture);
Block b = block.getBlock();
int direction = b.getMetaFromState(block);
this.head.rotateAngleX = 0F;
this.head.rotateAngleY = direction * ((float)Math.PI / 2);
this.head.rotateAngleZ = 0F;
//this.setLightmapDisabled(true);
this.head.render(0.3F);
//this.setLightmapDisabled(false);
GL11.glPopMatrix();
GL11.glPopAttrib();
}
项目:OpenBlocks
文件:RadioVillagerTrades.java
public static void registerUselessVillager() {
final VillagerProfession prof = new VillagerProfession(
"openblocks:radio",
"openblocks:textures/models/king-ish.png",
"minecraft:textures/entity/zombie_villager/zombie_villager.png"); // TODO: zombie texture?
GameRegistry.findRegistry(VillagerProfession.class).register(prof);
final VillagerCareer career = new VillagerCareer(prof, "audiophile")
.addTrade(1, new EmeraldForItems(Item.getItemFromBlock(Blocks.NOTEBLOCK), new PriceInfo(5, 7)))
.addTrade(2, new ListItemForEmeralds(Item.getItemFromBlock(Blocks.JUKEBOX), new PriceInfo(10, 15))); // extra for sound quality!
for (ItemStack record : OreDictionary.getOres("record"))
career.addTrade(3, new ListItemForEmeralds(record.getItem(), new PriceInfo(3, 6)));
}
项目:pnc-repressurized
文件:VillagerHandler.java
@SubscribeEvent
public static void onVillagerRegister(RegistryEvent.Register<VillagerProfession> event) {
init();
event.getRegistry().register(mechanicProfession);
}
项目:harshencastle
文件:HarshenVillagers.java
private static VillagerCareer regCareer(VillagerProfession parent, String name, HarshenTrade trade)
{
return new VillagerCareer(parent, name).addTrade(1, trade);
}
项目:VillagerTrades
文件:TradeLoader.java
/**
* Parses the contents of an individual trade file, and adds or removes the trades to or from the specified profession and career
* @param fileContents
*/
private static void loadTradesFromFile(String fileContents)
{
// parse the provided string as JSON
JsonObject jsonObject = new JsonParser().parse(fileContents).getAsJsonObject();
// identify the profession and career to apply these trades to
String jsonProfession = jsonObject.get("Profession").getAsString();
String jsonCareer = jsonObject.get("Career").getAsString();
// get the specified career and profession from the villager registry
VillagerProfession profession = VillagerRegistryHelper.getProfession(jsonProfession);
if (profession == null) throw new UnknownProfessionException(jsonProfession);
VillagerCareer career = new VTTVillagerProfession(profession).getCareer(jsonCareer);
if (career == null) throw new UnknownCareerException(jsonCareer);
// iterate over the trade recipes included in the offers object
JsonArray jsonRecipes = jsonObject.get("Offers").getAsJsonObject().get("Recipes").getAsJsonArray();
for (JsonElement jsonRecipe : jsonRecipes)
{
JsonObject jsonRecipeObject = jsonRecipe.getAsJsonObject();
// get the level this trade change applies to, and what type of change it is
String jsonRecipeAction = jsonRecipeObject.get("action").getAsString();
int jsonCareerLevel = (jsonRecipeObject.has("CareerLevel") ? jsonRecipeObject.get("CareerLevel").getAsInt() : 0);
// add a new trade if we're supposed to add one
if (jsonRecipeAction.equals("add"))
{
addTradeToCareer(career, jsonCareerLevel, jsonRecipeObject);
}
// or remove a trade if we're supposed to remove one
else if (jsonRecipeAction.equals("remove"))
{
removeTradeFromCareer(career, jsonCareerLevel, jsonRecipeObject);
}
// if we're supposed to replace a trade
else if (jsonRecipeAction.equals("replace"))
{
// remove the old one, and add a new one
removeTradeFromCareer(career, jsonCareerLevel, jsonRecipeObject);
addTradeToCareer(career, jsonCareerLevel, jsonRecipeObject);
}
// if we're supposed to clear the trades
else if (jsonRecipeAction.equals("clear"))
{
// if a career level was specified...
if (jsonCareerLevel > 0)
{
// clear the trades for that level
clearCareerTrades(career, jsonCareerLevel);
}
// if not...
else
{
// clear all the trades from the career
clearCareerTrades(career);
}
}
}
// sort them so that the buying trades appear before the selling trades for each level (like vanilla)
if (ModConfiguration.sortTrades) sortCareerTrades(career);
}
项目:Toms-Mod
文件:VillageHouseScientist.java
@Override
protected VillagerProfession chooseForgeProfession(int count, net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession prof) {
return count == 0 ? VillagerRegistry.instance().getRegistry().getValue(new ResourceLocation("minecraft:librarian")) : CoreInit.professionScientist;
}
项目:Cyclic
文件:VillagerProfRegistry.java
public static void register(VillagerProfession quickdraw) {
villagers.add(quickdraw);
}
项目:Cyclic
文件:VillagerProfRegistry.java
@SubscribeEvent
public static void onRegistryEvent(RegistryEvent.Register<VillagerProfession> event) {
for (VillagerProfession b : villagers) {
event.getRegistry().register(b);
}
}
项目:McMod-CubicVillager
文件:BlockVillagerTrader.java
@SideOnly(Side.CLIENT)
@Override
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn)
{
NBTTagCompound tagItemStack = stack.getTagCompound();
if(tagItemStack == null)
return;
StringBuilder tooltipText = new StringBuilder();
String name = tagItemStack.getString("Name");
if((name != null) && (name.length() > 0))
{
tooltipText.append("Name:§b");
tooltipText.append(name);
tooltipText.append("§r");
tooltip.add(tooltip.toString());
}
String professionString = tagItemStack.getString("prf");
if((professionString == null) || (professionString.length() == 0))
professionString = "minecraft:farmer";
ResourceLocation professionName = new ResourceLocation(professionString);
VillagerProfession profession = BlockVillagerTrader.PROFESSIONS.getObject(professionName);
int careerId = TypeTransformer.fromUnsignedByte(tagItemStack.getByte("car"));
VillagerCareer career = profession.getCareer(careerId);
tooltipText = new StringBuilder();
tooltipText.append("entity.Villager.");
tooltipText.append(career.getName());
String localizedCareer = I18n.format(tooltipText.toString());
tooltipText = new StringBuilder();
tooltipText.append("Profession:§b");
tooltipText.append(localizedCareer);
tooltipText.append("§r");
tooltip.add(tooltipText.toString());
tooltipText = new StringBuilder();
tooltipText.append("Level:§b");
tooltipText.append(TypeTransformer.fromUnsignedByte(tagItemStack.getByte("lov")));
tooltipText.append("§r");
tooltip.add(tooltipText.toString());
}