2
0
Fork 0

Almost finished adding new orc Traders

main
KeyLime17 5 months ago
parent 32a1b1f7de
commit 6077f2df0b

@ -182,6 +182,7 @@ public class CinderLoE {
public static Item pretzel; public static Item pretzel;
public static Item halva; public static Item halva;
public static Item flatbread; public static Item flatbread;
public static Item maggotlessbread;
// public static Item honey; // public static Item honey;
public static Item doner_kebab; public static Item doner_kebab;
@ -387,7 +388,7 @@ public class CinderLoE {
// event.registerServerCommand(new CommandMobileSound()); // event.registerServerCommand(new CommandMobileSound());
} }
public void registerEntities() { // Last ID added: 65 public void registerEntities() { // Last ID added: 66
///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock"); ///GameRegistry.registerTileEntity(TileEntityMistBlock.class, "TileEntityMistBlock");
///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword"); ///.registerBlock(TileEntityRustedSword, "TileEntityRustedSword");
@ -426,7 +427,7 @@ public class CinderLoE {
EntityRegistry.registerModEntity(LOTREntitySauron.class, "LOTREntitySauron", (entityID + 28), this, 64, 1, true); EntityRegistry.registerModEntity(LOTREntitySauron.class, "LOTREntitySauron", (entityID + 28), this, 64, 1, true);
EntityRegistry.registerModEntity(UtumnoSlaveTrader.class, "UtumnoSlaveTrader", (entityID + 30), 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(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); 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"); 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"); 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"); 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"); // 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"); spiceElven = new Item().setUnlocalizedName("lotr:spice_elven").setTextureName("lotr:spice_elven");
spiceHuman = new Item().setUnlocalizedName("lotr:spice_human").setTextureName("lotr:spice_human"); spiceHuman = new Item().setUnlocalizedName("lotr:spice_human").setTextureName("lotr:spice_human");

@ -14,18 +14,18 @@ public class Materials {
public static void registerMaterials() { public static void registerMaterials() {
modifyMaterial("RED_DWARF", 700, 3.0F, 0.7F, 3, 7.0F, 10, CinderLoE.redDwarfSteel); 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("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("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", 230, 1.5F, 0.5F, 2, 5.0F, 10, Item.getItemFromBlock(LOTRMod.driedReeds)); 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("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("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("RHUDAUR", 450, 2.5F, 0.6F, 2, 6.0F, 10, LOTRMod.fur);
modifyMaterial("BATTLENUN", 300, 3F, 0.6F, 2, 6.0F, 10, Items.iron_ingot); 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("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("SERPENT", 700, 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("USURPER",700, 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("WARLORD", 700, 2.0F, 0.6F, 2, 6.0F, 10, LOTRMod.bronze);
modifyMaterial("JADE",2400, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald); modifyMaterial("JADE",1000, 5.0F, 0.8F, 0, 9.0F, 10, LOTRMod.emerald);
modifyMaterial("GILDEDGALVORN",600, 3.0F, 0.6F, 2, 7.0F, 15, LOTRMod.galvorn); 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) { public static void modifyMaterial(String fieldName, int uses, float weapon_damage, float protection, int harvest_level, float speed, int enchantability, Item crafting_item) {

@ -20,35 +20,35 @@ public class LOTRMaterialTransformer implements IClassTransformer {
reader.accept(classNode, 0); reader.accept(classNode, 0);
modifyMaterial("ANGMAR", 431, 0.6F, classNode); //Original Durability = 350 | Add 81 | 162 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", 606, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 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", 662, 0.7F, classNode); //Original Durability = 550 | Add 56 | 112 if Upgraded Armory | 2/4 (Unupgraded) modifyMaterial("BLACK_URUK", 550, 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("HALF_TROLL", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded)
// Good Humans // Good Humans
modifyMaterial("DALE", 387, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 1/4 (Unupgraded) modifyMaterial("DALE", 350, 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("GONDOR", 450, 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("DORWINION_ELF", 500, 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("ROHAN", 350, 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("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("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("LOSSARNACH", 350, 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("LAMEDON", 350, 0.6F, classNode); //Original Durability = 300 | Add 87 | 175 if Upgraded Armory | 0/4
// Evil Humans // Evil Humans
modifyMaterial("RHUN_GOLD", 450, 0.6F, classNode); //Original Durability = 450 | Add 68 | 137 if Upgraded Armory | 0/4 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("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("DUNLENDING", 350, 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("NEAR_HARAD", 450, 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("HARNEDOR", 350, 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("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("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("UMBAR", 450, 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("MOREDAIN", 350, 0.6F, classNode); //Original Durability = 250 | Add 93 | 187 if Upgraded Armory | 0/4
//Elves //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 // Custom
modifyMaterial("UTUMNO", 1500, 0.7F, classNode); modifyMaterial("UTUMNO", 1500, 0.7F, classNode);

@ -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));
}
}

@ -26,7 +26,7 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT
public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) { public IEntityLivingData onSpawnWithEgg(IEntityLivingData data) {
data = super.onSpawnWithEgg(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()); this.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
return data; return data;
} }
@ -41,7 +41,7 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT
public IEntityLivingData func_110161_a(IEntityLivingData data) { public IEntityLivingData func_110161_a(IEntityLivingData data) {
data = super.func_110161_a(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.npcItemsInv.setIdleItem(this.npcItemsInv.getMeleeWeapon());
this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur)); this.setCurrentItemOrArmor(1, new ItemStack(LOTRMod.bootsFur));
this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur)); this.setCurrentItemOrArmor(2, new ItemStack(LOTRMod.legsFur));
@ -61,52 +61,57 @@ public class AngmarOrcButcher extends LOTREntityAngmarOrcTrader implements LOTRT
static { static {
ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY, ANGMAR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2), //maggotless bread new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread), 2),
new LOTRTradeEntry(new ItemStack(CinderLoE.daggerLimwaithPoisoned), 20), // flesh, meats, and maybe new cuisine, spice ingredeint? new LOTRTradeEntry(new ItemStack(CinderLoE.maggotlessbread), 3),
new LOTRTradeEntry(new ItemStack(CinderLoE.blowgunLimwaith), 25), new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 0), 6666),
new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDart, 4), 5), new LOTRTradeEntry(new ItemStack(Items.bread), 2),
new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDartPoisoned, 4), 10), new LOTRTradeEntry(new ItemStack(LOTRMod.axeAngmar), 10),
new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 4), new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 5),
new LOTRTradeEntry(new ItemStack(Items.bone, 1), 1), new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 5),
new LOTRTradeEntry(new ItemStack(LOTRMod.bottlePoison), 10)); 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, 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(Items.wheat, 2), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), // Check price going down new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2),
new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1), // man flesh new LOTRTradeEntry(new ItemStack(Items.bread, 1), 2),
new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHorn), 4), // angmar axe and daggers new LOTRTradeEntry(new ItemStack(Items.rotten_flesh, 3, 15), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 2), 1), new LOTRTradeEntry(new ItemStack(Items.chicken), 3),
new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 2, 3), 1), new LOTRTradeEntry(new ItemStack(Items.beef), 3),
new LOTRTradeEntry(new ItemStack(Blocks.red_mushroom, 1, 0), 2), new LOTRTradeEntry(new ItemStack(Items.porkchop), 3),
new LOTRTradeEntry(new ItemStack(Blocks.brown_mushroom, 1, 0), 2), new LOTRTradeEntry(new ItemStack(Items.fish), 2),
new LOTRTradeEntry(new ItemStack(CinderLoE.bonemold, 2), 3), new LOTRTradeEntry(new ItemStack(Items.fish, 1), 2),
new LOTRTradeEntry(new ItemStack(LOTRMod.mango), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 3),
new LOTRTradeEntry(new ItemStack(LOTRMod.banana), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 3),
new LOTRTradeEntry(new ItemStack(LOTRMod.corn, 2), 1)); 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 @Override
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) { public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_) {
} }
protected Item getLimwaithTraderDrop() { @Override
return LOTRMod.pearl;
}
public String getSpeechBank(EntityPlayer entityplayer) { public String getSpeechBank(EntityPlayer entityplayer) {
if (this.isFriendlyAndAligned(entityplayer)) { if (this.isFriendlyAndAligned(entityplayer)) {
return this.canTradeWith(entityplayer) ? "angmar/trader/friendly" : "angmar/trader/neutral"; if (this.canTradeWith(entityplayer)) {
} else { return "angmar/trader/friendly";
return "angmar/orc/hostile"; }
return "angmar/trader/neutral";
} }
return "angmar/orc/hostile";
} }
@Override @Override
public ItemStack getPickedResult(MovingObjectPosition target) { public ItemStack getPickedResult(MovingObjectPosition target) {

@ -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));
}
}

@ -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;
}
}

@ -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));
}
}

@ -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;
}
}

@ -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));
}
}

@ -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;
}
}

@ -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;
}
}

@ -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));
}
}

@ -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;
}
}

@ -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));
}
}

@ -9,22 +9,18 @@ import lotr.common.entity.npc.LOTRTradeEntries;
import lotr.common.entity.npc.LOTRTradeEntry; import lotr.common.entity.npc.LOTRTradeEntry;
import lotr.common.entity.npc.LOTRTradeEntryBarrel; import lotr.common.entity.npc.LOTRTradeEntryBarrel;
import lotr.common.item.LOTRItemBanner; import lotr.common.item.LOTRItemBanner;
import lotr.common.item.LOTRItemMug;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.*; import net.minecraft.item.*;
import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Overwrite;
import org.spongepowered.asm.mixin.Shadow; 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.At;
import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; 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 java.util.Random;
import static lotr.common.entity.npc.LOTRTradeEntries.*; import static lotr.common.entity.npc.LOTRTradeEntries.*;
@ -32,7 +28,7 @@ import static lotr.common.entity.npc.LOTRTradeEntries.*;
@Mixin(LOTRTradeEntries.class) @Mixin(LOTRTradeEntries.class)
public abstract class MixinLOTRTradeEntriesOverrides { public abstract class MixinLOTRTradeEntriesOverrides {
@Shadow @Shadow
private LOTRTradeEntries setVessels(LOTRFoods foods) { public LOTRTradeEntries setVessels(LOTRFoods foods) {
return null; return null;
} }
@ -273,8 +269,6 @@ public abstract class MixinLOTRTradeEntriesOverrides {
new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12),
new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorMordor), 25), new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorMordor), 25),
new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2), 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)); new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666));
((MixinLOTRTradeEntriesOverrides)(Object)MORDOR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); ((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.dwarfBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));
new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2));
GONDOR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY, GONDOR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
new LOTRTradeEntry(new ItemStack(LOTRMod.gondorianTable), 100), 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(LOTRMod.bootsFur), 12),
new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2),
new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 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(LOTRMod.wargArmorUruk), 25),
new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666)); new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 6666));
((MixinLOTRTradeEntriesOverrides)(Object)URUK_HAI_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK); ((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(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.pipeweed, 3), 2), new LOTRTradeEntry(new ItemStack(LOTRMod.pipeweed, 3), 2),
new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));
new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2));
ROHAN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY, ROHAN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
new LOTRTradeEntry(new ItemStack(LOTRMod.rohirricTable), 100), 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.legsFur), 16),
new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12),
new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 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.wargArmorAngmar), 25), 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); ((MixinLOTRTradeEntriesOverrides)(Object)ANGMAR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);
ANGMAR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, 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.dwarfBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 1), new LOTRTradeEntry(new ItemStack(Items.bone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2), new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2));
new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));
DOL_GULDUR_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY, 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.axeDolGuldur), 14),
new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDolGuldur), 16), new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDolGuldur), 16),
new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread), 4), 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(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); ((MixinLOTRTradeEntriesOverrides)(Object)DOL_GULDUR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);
DOL_GULDUR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, 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.dwarfBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 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.manFlesh), 3));
HALF_TROLL_SCAVENGER_BUY = new LOTRTradeEntries(TradeType.BUY, 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.amethyst), 12),
new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12),
new LOTRTradeEntry(new ItemStack(LOTRMod.pearl), 50), 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); ((MixinLOTRTradeEntriesOverrides)(Object)HALF_TROLL_SCAVENGER_BUY).setVessels(LOTRFoods.HALF_TROLL_DRINK);
GALADHRIM_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY, 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.helmetFur), 15),
new LOTRTradeEntry(new ItemStack(LOTRMod.bodyFur), 20), new LOTRTradeEntry(new ItemStack(LOTRMod.bodyFur), 20),
new LOTRTradeEntry(new ItemStack(LOTRMod.legsFur), 16), 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, 1), 2),
new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2), new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2),
new LOTRTradeEntry(new ItemStack(LOTRMod.bootsFur), 12), 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); ((MixinLOTRTradeEntriesOverrides)(Object)GUNDABAD_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);
GUNDABAD_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL, 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.dwarfBone), 1),
new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1), new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitBone), 1),
new LOTRTradeEntry(new ItemStack(Items.bone), 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.manFlesh), 3));
} }

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 490 B

Loading…
Cancel
Save