diff --git a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java index 09bf7ed..4ab9844 100644 --- a/src/main/java/com/zivilon/cinder_loe/CinderLoE.java +++ b/src/main/java/com/zivilon/cinder_loe/CinderLoE.java @@ -182,6 +182,7 @@ public class CinderLoE { public static Item pretzel; public static Item halva; public static Item flatbread; + public static Item maggotlessbread; // public static Item honey; public static Item doner_kebab; @@ -387,7 +388,7 @@ public class CinderLoE { // event.registerServerCommand(new CommandMobileSound()); } - public void registerEntities() { // Last ID added: 65 + public void registerEntities() { // Last ID added: 66 ///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock"); ///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword"); @@ -426,7 +427,7 @@ public class CinderLoE { EntityRegistry.registerModEntity(LOTREntitySauron.class, "LOTREntitySauron", (entityID + 28), this, 64, 1, true); EntityRegistry.registerModEntity(UtumnoSlaveTrader.class, "UtumnoSlaveTrader", (entityID + 30), this, 64, 1, true); EntityRegistry.registerModEntity(Monkey.class, "Monkey", (entityID + 62), this, 64, 1, true); - EntityRegistry.registerModEntity(CryptBoss.class, "CryptBoss", (entityID + 63), this, 64, 1, true); + EntityRegistry.registerModEntity(CryptBoss.class, "CryptBoss", (entityID + 66), this, 64, 1, true); EntityRegistry.registerModEntity(EntityMorgulBlast.class, "EntityMorgulBlast", (entityID + 65), this, 64, 1, true); @@ -598,6 +599,7 @@ public class CinderLoE { halva = new LOTRItemFood (7, 1.0f, false).setUnlocalizedName("lotr:halva").setTextureName("lotr:halva"); doner_kebab = new LOTRItemFood (8, 1.25f, false).setUnlocalizedName("lotr:doner_kebab").setTextureName("lotr:doner_kebab"); flatbread = new LOTRItemFood (3, 0.25f, false).setUnlocalizedName("lotr:flatbread").setTextureName("lotr:flatbread"); + maggotlessbread = new LOTRItemFood (4, 0.5f, false).setUnlocalizedName("lotr:maggotymaggotlessBread").setTextureName("lotr:maggotymaggotlessBread"); // honey = new LOTRItemFood(3, 0.4f, false).setPotionEffect(Potion.regeneration.id, 5, 0, 100).setUnlocalizedName("lotr:honey").setTextureName("lotr:honey"); spiceElven = new Item().setUnlocalizedName("lotr:spice_elven").setTextureName("lotr:spice_elven"); spiceHuman = new Item().setUnlocalizedName("lotr:spice_human").setTextureName("lotr:spice_human"); diff --git a/src/main/java/com/zivilon/cinder_loe/Materials.java b/src/main/java/com/zivilon/cinder_loe/Materials.java index 829ba7f..2a478d6 100644 --- a/src/main/java/com/zivilon/cinder_loe/Materials.java +++ b/src/main/java/com/zivilon/cinder_loe/Materials.java @@ -14,18 +14,18 @@ public class Materials { public static void registerMaterials() { modifyMaterial("RED_DWARF", 700, 3.0F, 0.7F, 3, 7.0F, 10, CinderLoE.redDwarfSteel); modifyMaterial("WIZARD", 1000, 3.0F, 0.7F, 3, 7.0F, 10, null); - modifyMaterial("BONEMOLD", 512, 2.5F, 0.6F, 2, 6.0F, 10, CinderLoE.bonemold); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 2/4 (Unupgraded) - modifyMaterial("LIMWAITH_WOOD", 230, 1.5F, 0.5F, 2, 5.0F, 10, Item.getItemFromBlock(LOTRMod.driedReeds)); + modifyMaterial("BONEMOLD", 450, 2.5F, 0.6F, 2, 6.0F, 10, CinderLoE.bonemold); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 2/4 (Unupgraded) + modifyMaterial("LIMWAITH_WOOD", 350, 1.5F, 0.5F, 2, 5.0F, 10, Item.getItemFromBlock(LOTRMod.driedReeds)); modifyMaterial("EVENT", 2400, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald); modifyMaterial("BREE", 350, 2.5F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); - modifyMaterial("RHUDAUR", 300, 2.5F, 0.6F, 2, 6.0F, 10, LOTRMod.fur); - modifyMaterial("BATTLENUN", 300, 3F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); + modifyMaterial("RHUDAUR", 450, 2.5F, 0.6F, 2, 6.0F, 10, LOTRMod.fur); + modifyMaterial("BATTLENUN", 450, 3F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); modifyMaterial("ASH", 2000, 0.0F, 0.6F, 2, 7.0F, 10, CinderLoE.ingotAsh); - modifyMaterial("SERPENT", 650, 2.0F, 0.6F, 2, 6.0F, 10, LOTRMod.bronze); - modifyMaterial("USURPER",650, 2.0F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); - modifyMaterial("WARLORD", 650, 2.0F, 0.6F, 2, 6.0F, 10, LOTRMod.bronze); - modifyMaterial("JADE",2400, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald); - modifyMaterial("GILDEDGALVORN",600, 3.0F, 0.6F, 2, 7.0F, 15, LOTRMod.galvorn); + modifyMaterial("SERPENT", 700, 2.0F, 0.6F, 2, 6.0F, 10, LOTRMod.bronze); + modifyMaterial("USURPER",700, 2.0F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); + modifyMaterial("WARLORD", 700, 2.0F, 0.6F, 2, 6.0F, 10, LOTRMod.bronze); + modifyMaterial("JADE",1000, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald); + modifyMaterial("GILDEDGALVORN",700, 3.0F, 0.6F, 2, 7.0F, 15, LOTRMod.galvorn); } public static void modifyMaterial(String fieldName, int uses, float weapon_damage, float protection, int harvest_level, float speed, int enchantability, Item crafting_item) { diff --git a/src/main/java/com/zivilon/cinder_loe/coremod/LOTRMaterialTransformer.java b/src/main/java/com/zivilon/cinder_loe/coremod/LOTRMaterialTransformer.java index 642a09b..98ea8e3 100644 --- a/src/main/java/com/zivilon/cinder_loe/coremod/LOTRMaterialTransformer.java +++ b/src/main/java/com/zivilon/cinder_loe/coremod/LOTRMaterialTransformer.java @@ -20,35 +20,35 @@ public class LOTRMaterialTransformer implements IClassTransformer { reader.accept(classNode, 0); - modifyMaterial("ANGMAR", 431, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 1/4 (Unupgraded) - modifyMaterial("URUK", 606, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 1/4 (Unupgraded) - modifyMaterial("BLACK_URUK", 662, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 2/4 (Unupgraded) - modifyMaterial("HALF_TROLL", 387, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) + modifyMaterial("ANGMAR", 350, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 1/4 (Unupgraded) + modifyMaterial("URUK", 550, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 1/4 (Unupgraded) + modifyMaterial("BLACK_URUK", 550, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 2/4 (Unupgraded) + modifyMaterial("HALF_TROLL", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) // Good Humans - modifyMaterial("DALE", 387, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) - modifyMaterial("GONDOR", 654, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 3/4 (Unupgraded) - modifyMaterial("DORWINION_ELF", 692, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 3/4 (Unupgraded) - modifyMaterial("ROHAN", 300, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 - modifyMaterial("TAUREDAIN", 300, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 + modifyMaterial("DALE", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) + modifyMaterial("GONDOR", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 3/4 (Unupgraded) + modifyMaterial("DORWINION_ELF", 500, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 3/4 (Unupgraded) + modifyMaterial("ROHAN", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 + modifyMaterial("TAUREDAIN", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("DORWINION", 400, 0.6F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4 - modifyMaterial("LOSSARNACH", 300, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory 0/4 - modifyMaterial("LAMEDON", 300, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 + modifyMaterial("LOSSARNACH", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory 0/4 + modifyMaterial("LAMEDON", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 // Evil Humans modifyMaterial("RHUN_GOLD", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 0/4 modifyMaterial("RHUN", 400, 0.6F, classNode); //Original Durability = 400 | Add 75 | 150 if Upgraded Armory | 0/4 - modifyMaterial("DUNLENDING", 343, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 1/4 (Unupgraded) - modifyMaterial("NEAR_HARAD", 561, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 3/4 (Unupgraded) - modifyMaterial("HARNEDOR", 250, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 - modifyMaterial("CORSAIR", 300, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 + modifyMaterial("DUNLENDING", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 1/4 (Unupgraded) + modifyMaterial("NEAR_HARAD", 450, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 3/4 (Unupgraded) + modifyMaterial("HARNEDOR", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 + modifyMaterial("CORSAIR", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4 modifyMaterial("GULF_HARAD", 350, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 if Upgraded Armory | 0/4 - modifyMaterial("UMBAR", 586, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 2/4 (Unupgraded) - modifyMaterial("MOREDAIN", 250, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 + modifyMaterial("UMBAR", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 2/4 (Unupgraded) + modifyMaterial("MOREDAIN", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4 //Elves - modifyMaterial("WOOD_ELVEN", 748, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 4/4 (Unupgraded) + modifyMaterial("WOOD_ELVEN", 500, 0.6F, classNode); //Original Durability = 500 | Add 62 | 125 if Upgraded Armory | 4/4 (Unupgraded) // Custom modifyMaterial("UTUMNO", 1500, 0.7F, classNode); diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcBrewer.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcBrewer.java new file mode 100644 index 0000000..bb624b4 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcBrewer.java @@ -0,0 +1,85 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import com.zivilon.cinder_loe.mixins.overrides.MixinLOTRTradeEntriesOverrides; +import lotr.common.LOTRFoods; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import lotr.common.item.LOTRItemMug; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class AngmarOrcBrewer extends AngmarOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public AngmarOrcBrewer(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.daggerAngmarPoisoned)); + this.npcItemsInv.setIdleItem(new ItemStack(LOTRMod.mugOrcDraught)); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.daggerAngmarPoisoned)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsAngmar)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyFur)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetFur)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.mugMorgulDraught, 1, 9999), 8), + new LOTRTradeEntry(new ItemStack(CinderLoE.mugOrcBrew, 1, 9999), 300), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 2), 6666)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3), + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreMorgulIron), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8), + new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcButcher.java index fb49576..7354178 100644 --- a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcButcher.java +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcButcher.java @@ -26,7 +26,7 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { data = super.onSpawnWithEgg(data); - this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.daggerAngmarPoisoned)); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeAngmar)); this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); return data; } @@ -41,7 +41,7 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT public IEntityLivingData func_110161_a(IEntityLivingData data) { data = super.func_110161_a(data); - this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.daggerAngmarPoisoned)); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeAngmar)); this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); @@ -61,52 +61,57 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT static { ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, - new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), //maggotless bread - new LOTRTradeEntry(new ItemStack(CinderLoE.daggerLimwaithPoisoned), 20), // flesh, meats, and maybe new cuisine, spice ingredeint? - new LOTRTradeEntry(new ItemStack(CinderLoE.blowgunLimwaith), 25), - new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDart, 4), 5), - new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDartPoisoned, 4), 10), - new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 4), - new LOTRTradeEntry(new ItemStack(Items.bone, 1), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.bottlePoison), 10)); + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeAngmar), 10), + new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), // Check price going down - new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), // man flesh - new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHorn), 4), // angmar axe and daggers - new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 2), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 3), 1), - new LOTRTradeEntry(new ItemStack(Blocks.red_mushroom, 1, 0), 2), - new LOTRTradeEntry(new ItemStack(Blocks.brown_mushroom, 1, 0), 2), - new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 3), - new LOTRTradeEntry(new ItemStack(LOTRMod.mango), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.banana), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.corn, 2), 1)); + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.chicken), 3), + new LOTRTradeEntry(new ItemStack(Items.beef), 3), + new LOTRTradeEntry(new ItemStack(Items.porkchop), 3), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); } - @Override - public void onPlayerTrade(EntityPlayer entityplayer, TradeType type, ItemStack itemstack) { - } @Override public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { } - protected Item getLimwaithTraderDrop() { - return LOTRMod.pearl; - } - + @Override public String getSpeechBank(EntityPlayer entityplayer) { if (this.isFriendlyAndAligned(entityplayer)) { - return this.canTradeWith(entityplayer) ? "angmar/trader/friendly" : "angmar/trader/neutral"; - } else { - return "angmar/orc/hostile"; + if (this.canTradeWith(entityplayer)) { + return "angmar/trader/friendly"; + } + return "angmar/trader/neutral"; } + return "angmar/orc/hostile"; } @Override public ItemStack getPickedResult(MovingObjectPosition target) { diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcSmith.java new file mode 100644 index 0000000..d473940 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/AngmarOrcSmith.java @@ -0,0 +1,105 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTREntityAngmarOrcTrader; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class AngmarOrcSmith extends AngmarOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public AngmarOrcSmith(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetAngmar)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.helmetRhudaur), 22), + new LOTRTradeEntry(new ItemStack(CinderLoE.bodyRhudaur), 32), + new LOTRTradeEntry(new ItemStack(CinderLoE.legsRhudaur), 28), + new LOTRTradeEntry(new ItemStack(CinderLoE.bootsRhudaur), 20), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), + new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.helmetAngmar), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyAngmar), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsAngmar), 26), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsAngmar), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.swordAngmar), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearAngmar), 15), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerAngmar), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerAngmarPoisoned), 10), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeAngmar), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.polearmAngmar), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeAngmar), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeAngmar), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerAngmar), 16), + new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorAngmar), 25)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3), + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreMorgulIron), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8), + new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcButcher.java new file mode 100644 index 0000000..501b49a --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcButcher.java @@ -0,0 +1,117 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.*; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class DolGuldurOrcButcher extends LOTREntityDolGuldurOrcTrader implements LOTRTradeable { + public static LOTRTradeEntries DOLGULDUR_BUTCHER_BUY; + public static LOTRTradeEntries DOLGULDUR_BUTCHER_SELL; + + public DolGuldurOrcButcher(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeDolGuldur)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return DOLGULDUR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return DOLGULDUR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeDolGuldur)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetBone)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + DOLGULDUR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeDolGuldur), 10), + new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); + + DOLGULDUR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), + new LOTRTradeEntry(new ItemStack(Items.bone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.chicken), 3), + new LOTRTradeEntry(new ItemStack(Items.beef), 3), + new LOTRTradeEntry(new ItemStack(Items.porkchop), 3), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + + @Override + public String getSpeechBank(EntityPlayer entityplayer) { + if (this.isFriendlyAndAligned(entityplayer)) { + if (this.canTradeWith(entityplayer)) { + return "dolGuldur/trader/friendly"; + } + return "dolGuldur/trader/neutral"; + } + return "dolGuldur/orc/hostile"; + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcSmith.java new file mode 100644 index 0000000..476f1e3 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/DolGuldurOrcSmith.java @@ -0,0 +1,97 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class DolGuldurOrcSmith extends DolGuldurOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public DolGuldurOrcSmith(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetDolGuldur)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), + new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDolGuldur), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDolGuldur), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsDolGuldur), 26), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDolGuldur), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.swordDolGuldur), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearDolGuldur), 15), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDolGuldur), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDolGuldurPoisoned), 10), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeDolGuldur), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.pikeDolGuldur), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDolGuldur), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeDolGuldur), 14), + new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDolGuldur), 16)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreMorgulIron), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcButcher.java new file mode 100644 index 0000000..6485e4b --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcButcher.java @@ -0,0 +1,118 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRAchievement; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.*; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class GundabadOrcButcher extends LOTREntityGundabadOrcTrader implements LOTRTradeable { + public static LOTRTradeEntries GUNDABAD_BUTCHER_BUY; + public static LOTRTradeEntries GUNDABAD_BUTCHER_SELL; + + public GundabadOrcButcher(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeBronze)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return GUNDABAD_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return GUNDABAD_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeBronze)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetBone)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + GUNDABAD_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeBronze), 10), + new LOTRTradeEntry(new ItemStack(Items.iron_axe), 12), + new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); + + GUNDABAD_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), + new LOTRTradeEntry(new ItemStack(Items.bone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.chicken), 3), + new LOTRTradeEntry(new ItemStack(Items.beef), 3), + new LOTRTradeEntry(new ItemStack(Items.porkchop), 3), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + + @Override + public String getSpeechBank(EntityPlayer entityplayer) { + if (this.isFriendlyAndAligned(entityplayer)) { + if (this.canTradeWith(entityplayer)) { + return "gundabad/trader/friendly"; + } + return "gundabad/trader/neutral"; + } + return "gundabad/orc/hostile"; + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcSmith.java new file mode 100644 index 0000000..7f94abc --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/GundabadOrcSmith.java @@ -0,0 +1,101 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class GundabadOrcSmith extends GundabadOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public GundabadOrcSmith(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetBronze)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), + new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.helmetGundabadUruk), 24), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyGundabadUruk), 36), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsGundabadUruk), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsGundabadUruk), 22), + new LOTRTradeEntry(new ItemStack(LOTRMod.swordGundabadUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearGundabadUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerGundabadUruk), 9), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerGundabadUrukPoisoned), 11), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeGundabadUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerGundabadUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.pikeGundabadUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeBronze), 12), + new LOTRTradeEntry(new ItemStack(Items.iron_pickaxe), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeBronze), 12), + new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3), + new LOTRTradeEntry(new ItemStack(Items.iron_axe), 14)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3), + new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3), + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone, 2), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 11), + new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/HalfTrollButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/HalfTrollButcher.java new file mode 100644 index 0000000..8991bdb --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/HalfTrollButcher.java @@ -0,0 +1,108 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.*; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class HalfTrollButcher extends LOTREntityHalfTrollScavenger implements LOTRTradeable { + public static LOTRTradeEntries HALF_TROLL_BUTCHER_BUY; + public static LOTRTradeEntries HALF_TROLL_BUTCHER_SELL; + + public HalfTrollButcher(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.battleaxeHalfTroll)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return HALF_TROLL_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return HALF_TROLL_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.battleaxeHalfTroll)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyHalfTroll)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + HALF_TROLL_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeHalfTroll), 10), + new LOTRTradeEntry(new ItemStack(Items.flint, 3), 8), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.zebraCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.lionCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); + + HALF_TROLL_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), + new LOTRTradeEntry(new ItemStack(Items.bone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.zebraRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.lionRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + + @Override + public String getSpeechBank(EntityPlayer entityplayer) { + if (this.isFriendlyAndAligned(entityplayer)) { + if (this.canTradeWith(entityplayer)) { + return "halfTroll/scavenger/friendly"; + } + return "halfTroll/scavenger/neutral"; + } + return "halfTroll/halfTroll/hostile"; + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcButcher.java new file mode 100644 index 0000000..0d4cdb5 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcButcher.java @@ -0,0 +1,123 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRAchievement; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.*; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class IsengardOrcButcher extends LOTREntityIsengardSnaga implements LOTRTradeable { + public static LOTRTradeEntries URUK_BUTCHER_BUY; + public static LOTRTradeEntries URUK_BUTCHER_SELL; + + public IsengardOrcButcher(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeUruk)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return URUK_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return URUK_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeUruk)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetBone)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + @Override + public void onPlayerTrade(EntityPlayer entityPlayer, TradeType tradeType, ItemStack itemStack) { + LOTRLevelData.getData(entityPlayer).addAchievement(LOTRAchievement.tradeUrukTrader); + } + + + static { + URUK_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeUruk), 10), + new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); + + URUK_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), + new LOTRTradeEntry(new ItemStack(Items.bone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.chicken), 3), + new LOTRTradeEntry(new ItemStack(Items.beef), 3), + new LOTRTradeEntry(new ItemStack(Items.porkchop), 3), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + + @Override + public String getSpeechBank(EntityPlayer entityplayer) { + if (this.isFriendlyAndAligned(entityplayer)) { + if (this.canTradeWith(entityplayer)) { + return "isengard/trader/friendly"; + } + return "isengard/trader/neutral"; + } + return "isengard/orc/hostile"; + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcSmith.java new file mode 100644 index 0000000..75872e8 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/IsengardOrcSmith.java @@ -0,0 +1,98 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class IsengardOrcSmith extends IsengardOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public IsengardOrcSmith(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(Items.leather_boots)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsBronze)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetFur)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), + new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.helmetUruk), 24), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyUruk), 36), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsUruk), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsUruk), 22), + new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerUruk), 9), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerUrukPoisoned), 11), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.pikeUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.urukCrossbow), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3), + new LOTRTradeEntry(new ItemStack(Items.iron_pickaxe), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeBronze), 12), + new LOTRTradeEntry(new ItemStack(Items.iron_axe), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeUruk), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeUruk), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorUruk), 25)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3), + new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcButcher.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcButcher.java new file mode 100644 index 0000000..7a93280 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcButcher.java @@ -0,0 +1,116 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.*; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class MordorOrcButcher extends LOTREntityMordorOrcTrader implements LOTRTradeable { + public static LOTRTradeEntries MORDOR_BUTCHER_BUY; + public static LOTRTradeEntries MORDOR_BUTCHER_SELL; + + public MordorOrcButcher(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeOrc)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return MORDOR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return MORDOR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.axeOrc)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetBone)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + MORDOR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3), + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 0), 6666), + new LOTRTradeEntry(new ItemStack(Items.bread), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeOrc), 10), + new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 5), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 4), + new LOTRTradeEntry(new ItemStack(Items.cooked_fished, 1), 4), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 5)); + + MORDOR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(Items.feather, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.wheat, 2), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), + new LOTRTradeEntry(new ItemStack(Items.bone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), + new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2), + new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), + new LOTRTradeEntry(new ItemStack(Items.chicken), 3), + new LOTRTradeEntry(new ItemStack(Items.beef), 3), + new LOTRTradeEntry(new ItemStack(Items.porkchop), 3), + new LOTRTradeEntry(new ItemStack(Items.fish), 2), + new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 3), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + + @Override + public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { + } + + @Override + public String getSpeechBank(EntityPlayer entityplayer) { + if (this.isFriendlyAndAligned(entityplayer)) { + if (this.canTradeWith(entityplayer)) { + return "mordor/trader/friendly"; + } + return "mordor/trader/neutral"; + } + return "mordor/orc/hostile"; + } + @Override + public ItemStack getPickedResult(MovingObjectPosition target) { + return null; + } +} diff --git a/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcSmith.java b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcSmith.java new file mode 100644 index 0000000..bd82d87 --- /dev/null +++ b/src/main/java/com/zivilon/cinder_loe/entity/npc/orc/trader/MordorOrcSmith.java @@ -0,0 +1,111 @@ +package com.zivilon.cinder_loe.entity.npc.orc.trader; + +import com.zivilon.cinder_loe.CinderLoE; +import com.zivilon.cinder_loe.mixins.overrides.MixinLOTRTradeEntriesOverrides; +import lotr.common.LOTRFoods; +import lotr.common.LOTRLevelData; +import lotr.common.LOTRMod; +import lotr.common.entity.npc.LOTRTradeEntries; +import lotr.common.entity.npc.LOTRTradeEntries.TradeType; +import lotr.common.entity.npc.LOTRTradeEntry; +import lotr.common.entity.npc.LOTRTradeable; +import net.minecraft.entity.IEntityLivingData; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class MordorOrcSmith extends MordorOrcButcher implements LOTRTradeable { + public static LOTRTradeEntries ANGMAR_BUTCHER_BUY; + public static LOTRTradeEntries ANGMAR_BUTCHER_SELL; + + public MordorOrcSmith(World world) { + super(world); + } + + public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { + data = super.onSpawnWithEgg(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + return data; + } + + public LOTRTradeEntries getBuyPool() { + return ANGMAR_BUTCHER_BUY; + } + + public LOTRTradeEntries getSellPool() { + return ANGMAR_BUTCHER_SELL; + } + + public IEntityLivingData func_110161_a(IEntityLivingData data) { + data = super.func_110161_a(data); + this.npcItemsInv.setMeleeWeapon(new ItemStack(LOTRMod.blacksmithHammer)); + this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon()); + this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); + this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); + this.setCurrentItemOrArmor(3, new ItemStack(LOTRMod.bodyBone)); + this.setCurrentItemOrArmor(4, new ItemStack(LOTRMod.helmetAngmar)); + return data; + } + + public float getAlignmentBonus() { + return 2.0F; + } + + public boolean canTradeWith(EntityPlayer entityplayer) { + return (LOTRLevelData.getData(entityplayer).getAlignment(getFaction()) >= 100.0F && isFriendlyAndAligned(entityplayer)); + } + + + static { + ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, + new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught), 24), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyBlackUruk), 36), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsBlackUruk), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsBlackUruk), 22), + new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarBlackUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearBlackUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBlackUruk), 9), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBlackUrukPoisoned), 11), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBlackUruk), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerBlackUruk), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.blackUrukBow), 18), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), + new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), + new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.helmetOrc), 20), + new LOTRTradeEntry(new ItemStack(LOTRMod.bodyOrc), 30), + new LOTRTradeEntry(new ItemStack(LOTRMod.legsOrc), 26), + new LOTRTradeEntry(new ItemStack(LOTRMod.bootsOrc), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarOrc), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.spearOrc), 15), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerOrc), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.daggerOrcPoisoned), 10), + new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeOrc), 18), + new LOTRTradeEntry(new ItemStack(LOTRMod.polearmOrc), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeOrc), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.axeOrc), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.hammerOrc), 16), + new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorMordor), 25), + new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3)); + + ANGMAR_BUTCHER_SELL = new LOTRTradeEntries(TradeType.SELL, + new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3), + new LOTRTradeEntry(new ItemStack(Items.string, 3), 1), + new LOTRTradeEntry(new ItemStack(LOTRMod.blackUrukSteel), 4), + new LOTRTradeEntry(new ItemStack(Items.leather), 2), + new LOTRTradeEntry(new ItemStack(Items.coal, 1), 2), + new LOTRTradeEntry(new ItemStack(CinderLoE.leatherBundle), 14), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreMorgulIron), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8), + new LOTRTradeEntry(new ItemStack(LOTRMod.nauriteGem), 2), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 5), + new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 5), + new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread, 5), 17), + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + } + +} diff --git a/src/main/java/com/zivilon/cinder_loe/mixins/overrides/MixinLOTRTradeEntriesOverrides.java b/src/main/java/com/zivilon/cinder_loe/mixins/overrides/MixinLOTRTradeEntriesOverrides.java index 384654d..8715027 100644 --- a/src/main/java/com/zivilon/cinder_loe/mixins/overrides/MixinLOTRTradeEntriesOverrides.java +++ b/src/main/java/com/zivilon/cinder_loe/mixins/overrides/MixinLOTRTradeEntriesOverrides.java @@ -9,22 +9,18 @@ import lotr.common.entity.npc.LOTRTradeEntries; import lotr.common.entity.npc.LOTRTradeEntry; import lotr.common.entity.npc.LOTRTradeEntryBarrel; import lotr.common.item.LOTRItemBanner; -import lotr.common.item.LOTRItemMug; import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.*; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; import java.util.Random; import static lotr.common.entity.npc.LOTRTradeEntries.*; @@ -32,7 +28,7 @@ import static lotr.common.entity.npc.LOTRTradeEntries.*; @Mixin(LOTRTradeEntries.class) public abstract class MixinLOTRTradeEntriesOverrides { @Shadow - private LOTRTradeEntries setVessels(LOTRFoods foods) { + public LOTRTradeEntries setVessels(LOTRFoods foods) { return null; } @@ -273,8 +269,6 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorMordor), 25), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)MORDOR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); @@ -296,8 +290,7 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2)); + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); GONDOR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY, new LOTRTradeEntry(new ItemStack(LOTRMod.gondorianTable), 100), @@ -376,8 +369,6 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorUruk), 25), new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)URUK_HAI_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); @@ -398,8 +389,7 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.pipeweed, 3), 2), - new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2)); + new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); ROHAN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY, new LOTRTradeEntry(new ItemStack(LOTRMod.rohirricTable), 100), @@ -579,10 +569,8 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.legsFur), 16), new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorAngmar), 25), - new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 2), 6666)); + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)ANGMAR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); ANGMAR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, @@ -601,8 +589,7 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), - new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); + new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2)); DOL_GULDUR_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY, @@ -625,10 +612,8 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.axeDolGuldur), 14), new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDolGuldur), 16), new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread), 4), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), new LOTRTradeEntry(new ItemStack(Items.string), 2), - new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 2), 6666)); + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)DOL_GULDUR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); DOL_GULDUR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, @@ -647,7 +632,6 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); HALF_TROLL_SCAVENGER_BUY = new LOTRTradeEntries(TradeType.BUY, @@ -693,7 +677,7 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.pearl), 50), - new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666)); + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)HALF_TROLL_SCAVENGER_BUY).setVessels(LOTRFoods.HALF_TROLL_DRINK); GALADHRIM_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY, @@ -1328,12 +1312,10 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.helmetFur), 15), new LOTRTradeEntry(new ItemStack(LOTRMod.bodyFur), 20), new LOTRTradeEntry(new ItemStack(LOTRMod.legsFur), 16), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200), - new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2), new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), - new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666)); + new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); ((MixinLOTRTradeEntriesOverrides)(Object)GUNDABAD_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); GUNDABAD_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, @@ -1356,9 +1338,7 @@ public abstract class MixinLOTRTradeEntriesOverrides { new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1), - new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3)); - } diff --git a/src/main/resources/assets/lotr/lang/en_US.lang b/src/main/resources/assets/lotr/lang/en_US.lang new file mode 100644 index 0000000..0ab9a6f --- /dev/null +++ b/src/main/resources/assets/lotr/lang/en_US.lang @@ -0,0 +1,3 @@ +entity.lotr.MordorOrcTrader.name=Mordor Orc Scavenger +entity.lotr.AngmarOrcTrader.name=Angmar Orc Scavenger +entity.lotr.DolGuldurOrcTrader.name=Dol Guldur Orc Scavenger \ No newline at end of file diff --git a/src/main/resources/assets/lotr/textures/items/maggotymaggotlessBread.png b/src/main/resources/assets/lotr/textures/items/maggotymaggotlessBread.png new file mode 100644 index 0000000..b410da7 Binary files /dev/null and b/src/main/resources/assets/lotr/textures/items/maggotymaggotlessBread.png differ