package com.zivilon.cinder_loe.mixins;

import com.zivilon.cinder_loe.CinderLoE;
import lotr.common.LOTRFoods;
import lotr.common.LOTRMod;
import lotr.common.enchant.LOTREnchantment;
import lotr.common.enchant.LOTREnchantmentHelper;
import lotr.common.entity.npc.LOTRTradeEntries;
import lotr.common.entity.npc.LOTRTradeEntry;
import lotr.common.entity.npc.LOTRTradeEntryBarrel;
import lotr.common.item.LOTRItemBanner;
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.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.Random;

import static lotr.common.entity.npc.LOTRTradeEntries.*;

@Mixin(LOTRTradeEntries.class)
public abstract class MixinLOTRTradeEntriesOverrides {
    @Shadow(remap = false)
    public LOTRTradeEntries setVessels(LOTRFoods foods) {
        return null;
    }

    @Shadow(remap = false)
    public static LOTRTradeEntries MORDOR_TRADER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries MORDOR_TRADER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries GONDOR_BLACKSMITH_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries GALADHRIM_TRADER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries GALADHRIM_TRADER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries URUK_HAI_TRADER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries DWARF_MINER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DWARF_MINER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries ROHAN_BLACKSMITH_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries DUNLENDING_BARTENDER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries ROHAN_MEADHOST_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DUNLENDING_BARTENDER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries ROHAN_MEADHOST_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries HOBBIT_ORCHARDER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries HOBBIT_ORCHARDER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries HOBBIT_FARMER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries HOBBIT_FARMER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries BLUE_DWARF_MINER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries BLUE_DWARF_MINER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries BLUE_DWARF_MERCHANT_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries BLUE_DWARF_MERCHANT_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries NEAR_HARAD_MERCHANT_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries NEAR_HARAD_MERCHANT_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries ANGMAR_TRADER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries ANGMAR_TRADER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries DOL_GULDUR_TRADER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DOL_GULDUR_TRADER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries HALF_TROLL_SCAVENGER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries HALF_TROLL_SCAVENGER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries HIGH_ELF_SMITH_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries HIGH_ELF_SMITH_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries WOOD_ELF_SMITH_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries MOREDAIN_HUNTSMAN_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries MOREDAIN_HUTMAKER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries MOREDAIN_HUTMAKER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries IRON_HILLS_MERCHANT_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries IRON_HILLS_MERCHANT_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries TAUREDAIN_SHAMAN_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries TAUREDAIN_SHAMAN_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries TAUREDAIN_FARMER_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries TAUREDAIN_FARMER_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries DWARF_SMITH_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DWARF_SMITH_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries BLUE_DWARF_SMITH_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DALE_BLACKSMITH_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DALE_BLACKSMITH_SELL;
    @Shadow(remap = false)
    public static LOTRTradeEntries WICKED_DWARF_BUY;
    @Shadow(remap = false)
    public static LOTRTradeEntries DALE_BAKER_BUY;

    @Redirect(
            method = "getRandomTrades",
            at = @At(
                    value = "INVOKE",
                    target = "Llotr/common/enchant/LOTREnchantmentHelper;applyRandomEnchantments(Lnet/minecraft/item/ItemStack;Ljava/util/Random;ZZ)V"
            ),
            remap = false
    )
    private void applyRandomEnchantsThenSturdy(ItemStack tradeItem, Random random, boolean skilful, boolean keepBanes) {
        LOTREnchantmentHelper.applyRandomEnchantments(tradeItem, random, skilful, keepBanes);
        Item item = tradeItem.getItem();
        String name;
        if (item instanceof ItemArmor) {
            name = "armorSturdy";
        } else if (item instanceof ItemSword) {
            name = "meleeSturdy";
        } else if (item instanceof ItemBow) {
            name = "meleeSturdy";
        } else {
            return;
        }
        LOTREnchantment sturdy = LOTREnchantment.getEnchantmentByName(name);
        if (sturdy != null && !LOTREnchantmentHelper.hasEnchant(tradeItem, sturdy)) {
            LOTREnchantmentHelper.setHasEnchant(tradeItem, sturdy);
        }
    }

    /**
     * @author KeyLime + Mevans
     * @reason Mixins is the very best!!!!!!!!!!!!!!!
     */
    @Inject(method = "setupTrades1", at = @At("RETURN"), remap = false)
    private static void newTrades(CallbackInfo ci) {

        DALE_BAKER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.cornBread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.cram), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oliveBread), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dalishPastryItem), 12),
                new LOTRTradeEntry(new ItemStack(Items.cake), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lemonCakeItem), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.appleCrumbleItem), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.berryPieItem), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.cherryPieItem), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marzipan), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marzipanChocolate), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marzipanBlock), 20),
                new LOTRTradeEntry(new ItemStack(Items.cookie), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plate), 4),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2));
        ((MixinLOTRTradeEntriesOverrides)(Object)DALE_BAKER_BUY).setVessels(LOTRFoods.DALE_DRINK);

        TAUREDAIN_FARMER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.wheat), 2),
                new LOTRTradeEntry(new ItemStack(Items.wheat_seeds), 1),
                new LOTRTradeEntry(new ItemStack(Items.carrot), 3),
                new LOTRTradeEntry(new ItemStack(Items.potato), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lettuce), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mango), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.banana), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.reeds), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.driedReeds), 2),
                new LOTRTradeEntry(new ItemStack(Items.dye, 1, 3), 8),
                new LOTRTradeEntry(new ItemStack(CinderLoE.fruitsalad, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spice, 1), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.corn), 3));
        ((MixinLOTRTradeEntriesOverrides)(Object)TAUREDAIN_FARMER_BUY).setVessels(LOTRFoods.TAUREDAIN_DRINK);

        DWARF_MINER_BUY =
                new LOTRTradeEntries(TradeType.BUY,
                        new LOTRTradeEntry(new ItemStack(Items.coal, 2), 4),
                        new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 8),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 7),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 7),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.oreSilver), 12),
                        new LOTRTradeEntry(new ItemStack(Blocks.gold_ore), 22),
                        new LOTRTradeEntry(new ItemStack(Items.glowstone_dust, 4), 3),
                        new LOTRTradeEntry(new ItemStack(Blocks.cobblestone, 8), 1),
                        new LOTRTradeEntry(new ItemStack(Blocks.stone, 8), 1),
                        new LOTRTradeEntry(new ItemStack(Items.lava_bucket), 20),
                        new LOTRTradeEntry(new ItemStack(Items.flint), 2),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.sulfur), 6),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.saltpeter), 6),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 40),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 25),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.sapphire), 20),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 20),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.opal), 15),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 15),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 12),
                        new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12),
                        new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 10), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)DWARF_MINER_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        DWARF_MINER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 3),
                new LOTRTradeEntry(new ItemStack(Items.bread), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.cram), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenAle, 1, Short.MAX_VALUE), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDwarven), 10));


        MORDOR_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.morgulTable), 100),
                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), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmOrc), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearOrc), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerOrc), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerOrcPoisoned), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeOrc), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBomb), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.fur), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                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.maggotyBread), 4),
                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(LOTRMod.bootsFur), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorMordor), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 1), 2),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)MORDOR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);

        MORDOR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blackUrukSteel), 3),
                new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.nauriteGem), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 10),
                new LOTRTradeEntry(new ItemStack(Items.string, 3), 1),
                new LOTRTradeEntry(new ItemStack(Items.feather), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.morgulShroom), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1),
                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));

        GONDOR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.gondorianTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordGondor), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerGondor), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearGondor), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetGondor), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyGondor), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsGondor), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsGondor), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerGondor), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorGondor), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200));
        ((MixinLOTRTradeEntriesOverrides)(Object)GONDOR_BLACKSMITH_BUY).setVessels(LOTRFoods.GONDOR_DRINK);

        GALADHRIM_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordElven), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerElven), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearElven), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmElven), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearElven), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elvenBow), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordMallorn), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mallornBow), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyElven), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsElven), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsElven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.planks, 4, 1), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elanor), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.niphredil), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mallornTorchSilver, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mallornTorchBlue, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mallornTorchGold, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mallornTorchGreen, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lembas), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMiruvor, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hithlain), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.chestMallorn), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 8), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GALADHRIM_TRADER_BUY).setVessels(LOTRFoods.ELF_DRINK);


        URUK_HAI_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.urukTable), 100),
                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.orcBomb), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.fur), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.urukCrossbow), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeUruk), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeUruk), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread), 4),
                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(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(LOTRMod.wargArmorUruk), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)URUK_HAI_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);

        URUK_HAI_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(LOTRMod.urukSteel), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3),
                new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 12),
                new LOTRTradeEntry(new ItemStack(Items.coal, 2, Short.MAX_VALUE), 1),
                new LOTRTradeEntry(new ItemStack(Items.leather), 2),
                new LOTRTradeEntry(new ItemStack(Items.string, 3), 1),
                new LOTRTradeEntry(new ItemStack(Items.feather), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elfBone), 1),
                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.pipeweed, 3), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));

        ROHAN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.rohirricTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordRohan), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeRohan), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerRohan), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearRohan), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRohan), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRohan), 28),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRohan), 24),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRohan), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRohanMarshal), 45),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRohanMarshal), 60),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRohanMarshal), 55),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRohanMarshal), 40),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(Items.saddle), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorRohan), 25));
        ((MixinLOTRTradeEntriesOverrides)(Object)ROHAN_BLACKSMITH_BUY).setVessels(LOTRFoods.ROHAN_DRINK);

        DUNLENDING_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dunlendingTable), 100),
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 2),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRum, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)DUNLENDING_BARTENDER_BUY).setVessels(LOTRFoods.DUNLENDING_DRINK);

        ROHAN_MEADHOST_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 6),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(Items.apple, 2), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.aleHorn), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.aleHornGold), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWater), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMilk), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)ROHAN_MEADHOST_BUY).setVessels(LOTRFoods.ROHAN_DRINK);

        BLUE_DWARF_MINER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.coal, 2), 4),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_ore), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oreCopper), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oreTin), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oreSilver), 12),
                new LOTRTradeEntry(new ItemStack(Blocks.gold_ore), 22),
                new LOTRTradeEntry(new ItemStack(Items.glowstone_dust, 4), 3),
                new LOTRTradeEntry(new ItemStack(Blocks.cobblestone, 8), 1),
                new LOTRTradeEntry(new ItemStack(Items.lava_bucket), 20),
                new LOTRTradeEntry(new ItemStack(Items.flint), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.sulfur), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.saltpeter), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 40),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.sapphire), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.opal), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 11), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BLUE_DWARF_MINER_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        BLUE_DWARF_MINER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 3),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 3),
                new LOTRTradeEntry(new ItemStack(Items.bread), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, Short.MAX_VALUE), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenAle, 1, Short.MAX_VALUE), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeBlueDwarven), 10));

        BLUE_DWARF_MERCHANT_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenForge), 40),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenRing), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordBlueDwarven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBlueDwarven), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeBlueDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeBlueDwarven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelBlueDwarven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mattockBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.throwingAxeBlueDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetBlueDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyBlueDwarven), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsBlueDwarven), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsBlueDwarven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenAle, 1, 9999), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenTonic, 1, 9999), 14),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugDwarvenAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugDwarvenAle, 1, 3), 160),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfHerb), 10),
                new LOTRTradeEntry(new ItemStack(Items.glowstone_dust, 4), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick3, 1, 12), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rock, 8, 3), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 9), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BLUE_DWARF_MERCHANT_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        BLUE_DWARF_MERCHANT_SELL = new LOTRTradeEntries(TradeType.SELL, new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3), new LOTRTradeEntry(new ItemStack(Items.coal, 2, Short.MAX_VALUE), 1), new LOTRTradeEntry(new ItemStack(Items.gold_ingot), 15), new LOTRTradeEntry(new ItemStack(LOTRMod.copper), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.tin), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 25), new LOTRTradeEntry(new ItemStack(LOTRMod.sapphire), 12), new LOTRTradeEntry(new ItemStack(LOTRMod.opal), 10), new LOTRTradeEntry(new ItemStack(LOTRMod.pearl), 25), new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 3), new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 3), new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 3), new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 3), new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 3), new LOTRTradeEntry(new ItemStack(Items.bread), 2));

        ANGMAR_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.angmarTable), 100),
                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.orcBomb), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.fur), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                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(LOTRMod.maggotyBread), 4),
                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(LOTRMod.bootsFur), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.cinderFurItem, 1, 0), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.wargArmorAngmar), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)ANGMAR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);

        ANGMAR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3),
                new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 12),
                new LOTRTradeEntry(new ItemStack(Items.string, 3), 1),
                new LOTRTradeEntry(new ItemStack(Items.feather), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 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(LOTRMod.hobbitBone), 1),
                new LOTRTradeEntry(new ItemStack(Items.bone), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread, 2), 2));


        DOL_GULDUR_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dolGuldurTable), 100),
                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), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBomb), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDolGuldur), 14),
                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(Items.string), 2),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 1), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)DOL_GULDUR_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);

        DOL_GULDUR_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3),
                new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.guldurilCrystal), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 8),
                new LOTRTradeEntry(new ItemStack(Items.feather), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 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(LOTRMod.hobbitBone), 1),
                new LOTRTradeEntry(new ItemStack(Items.bone), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));

        HALF_TROLL_SCAVENGER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.halfTrollTable), 100),
                new LOTRTradeEntry(new ItemStack(Items.gold_ingot), 22),
                new LOTRTradeEntry(new ItemStack(Items.gold_nugget), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.silver), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.silverNugget), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugTorogDraught, 1, 9999), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordHarad), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHarad), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetNearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarOrc), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeOrc), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetOrc), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarHalfTroll), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maceHalfTroll), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeHalfTroll), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHalfTroll), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHalfTrollPoisoned), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerHalfTroll), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordGondor), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerGondor), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearMoredain), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeMoredain), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerMoredain), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.clubMoredain), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordMoredain), 15),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                new LOTRTradeEntry(new ItemStack(Items.bone), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBone), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.trollBone), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 40),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.sapphire), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.opal), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 15),
                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, 1), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)HALF_TROLL_SCAVENGER_BUY).setVessels(LOTRFoods.HALF_TROLL_DRINK);

        GALADHRIM_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.elvenTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerElven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelElven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsElven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsElven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorGaladhrim), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elvenBow), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3));

        HIGH_ELF_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.highElvenTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordHighElven), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmHighElven), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearHighElven), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHighElven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHighElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeHighElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeHighElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelHighElven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetHighElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyHighElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsHighElven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsHighElven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorHighElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.highElvenBow), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3));
        ((MixinLOTRTradeEntriesOverrides)(Object)GALADHRIM_SMITH_BUY).setVessels(LOTRFoods.ELF_DRINK);
        ((MixinLOTRTradeEntriesOverrides)(Object)HIGH_ELF_SMITH_BUY).setVessels(LOTRFoods.ELF_DRINK);
        ((MixinLOTRTradeEntriesOverrides)(Object)WOOD_ELF_SMITH_BUY).setVessels(LOTRFoods.WOOD_ELF_DRINK);

        WOOD_ELF_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodElvenTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordWoodElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerWoodElven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearWoodElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmWoodElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearWoodElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeWoodElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeWoodElven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelWoodElven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetWoodElven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyWoodElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsWoodElven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsWoodElven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.elkArmorWoodElven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mirkwoodBow), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsGildedGalvorn), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 7), 500));

        MOREDAIN_HUNTSMAN_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.lionFur), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHide), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHorn), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoHorn), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lionRaw), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.zebraRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoRaw), 6),
                new LOTRTradeEntry(new ItemStack(Items.rotten_flesh), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetWarlord), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyWarlord), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsWarlord), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsWarlord), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)MOREDAIN_HUNTSMAN_BUY).setVessels(LOTRFoods.MOREDAIN_DRINK);

        IRON_HILLS_MERCHANT_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenForge), 40),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenRing), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordDwarven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDwarven), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDwarven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelDwarven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mattockDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.throwingAxeDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDwarven), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDwarven), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDwarven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDwarvenSilver), 50),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDwarvenSilver), 60),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDwarvenSilver), 55),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDwarvenSilver), 50),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenAle, 1, 9999), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenTonic, 1, 9999), 14),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugDwarvenAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugDwarvenAle, 1, 3), 160),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfHerb), 10),
                new LOTRTradeEntry(new ItemStack(Items.glowstone_dust, 4), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick3, 1, 12), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.cram), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dalishPastryItem), 16),
                new LOTRTradeEntry(new ItemStack(Blocks.cobblestone, 8), 2),
                new LOTRTradeEntry(new ItemStack(Blocks.stone, 8), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amber), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.amethyst), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.topaz), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 9), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)IRON_HILLS_MERCHANT_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        TAUREDAIN_SHAMAN_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerTauredain), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerTauredainPoisoned), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainBlowgun), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDart, 4), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainDartPoisoned, 4), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bottlePoison), 10),
                new LOTRTradeEntry(new ItemStack(Blocks.sapling, 1, 3), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.sapling6, 1, 0), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugChocolate), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugTauredainCocoa, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugTauredainCure), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.chocolatebar, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)TAUREDAIN_SHAMAN_BUY).setVessels(LOTRFoods.TAUREDAIN_DRINK);

        DWARF_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenRing), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordDwarven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDwarven), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDwarven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelDwarven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mattockDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.throwingAxeDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDwarven), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDwarven), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDwarven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDwarvenSilver), 50),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDwarvenSilver), 60),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDwarvenSilver), 55),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDwarvenSilver), 50),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDwarvenGold), 70),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDwarvenGold), 80),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDwarvenGold), 75),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDwarvenGold), 70),
                new LOTRTradeEntry(new ItemStack(LOTRMod.boarArmorDwarven), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBars, 8), 20));

        BLUE_DWARF_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.blueDwarvenTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenRing), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordBlueDwarven), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBlueDwarven), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeBlueDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeBlueDwarven), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelBlueDwarven), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mattockBlueDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.throwingAxeBlueDwarven), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetBlueDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyBlueDwarven), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsBlueDwarven), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsBlueDwarven), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.boarArmorBlueDwarven), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blueDwarfBars, 8), 20));
        ((MixinLOTRTradeEntriesOverrides)(Object)DWARF_SMITH_BUY).setVessels(LOTRFoods.DWARF_DRINK);
        ((MixinLOTRTradeEntriesOverrides)(Object)BLUE_DWARF_SMITH_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        DALE_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.daleTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordDale), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeDale), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDale), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearDale), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeDale), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDale), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDale), 28),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDale), 24),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDale), 16),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetEsgaroth), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyEsgaroth), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsEsgaroth), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsEsgaroth), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(Items.saddle), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorDale), 25));
        ((MixinLOTRTradeEntriesOverrides)(Object)DALE_BLACKSMITH_BUY).setVessels(LOTRFoods.DALE_DRINK);

        DORWINION_VINTNER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.dorwinionTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 0), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 1), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 2), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 3), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 4), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 0), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 1), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 2), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 3), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 4), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedGrapeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteGrapeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 7), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)DORWINION_VINTNER_BUY).setVessels(LOTRFoods.DORWINION_DRINK);

        DORWINION_MERCHANT_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetDorwinion), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyDorwinion), 35),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsDorwinion), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsDorwinion), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.grapeRed), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.grapeWhite), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.raisins), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 9999), 15),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugRedWine, 1, 2), 160),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugRedWine, 1, 3), 220),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugWhiteWine, 1, 2), 160),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugWhiteWine, 1, 3), 220),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedGrapeJuice), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteGrapeJuice), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.banner, 1, LOTRItemBanner.BannerType.DORWINION.bannerID), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick5, 1, 2), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 0), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 1), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 2), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 3), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 4), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 0), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 7), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)DORWINION_MERCHANT_BUY).setVessels(LOTRFoods.DORWINION_DRINK);

        GONDOR_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.aleHorn), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.aleHornGold), 8),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugChocolate), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plate), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GONDOR_BARTENDER_BUY).setVessels(LOTRFoods.GONDOR_DRINK);

        GONDOR_BREWER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPlumKvass, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCarrotWine, 1, 9999), 12),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCarrotWine, 1, 2), 140),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCarrotWine, 1, 3), 180),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateWine, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugChocolate), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlueberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlackberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRaspberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCranberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugElderberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateJuice), 10),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GONDOR_BREWER_BUY).setVessels(LOTRFoods.GONDOR_DRINK);

        GONDOR_FLORIST_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 1), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 2), 6),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 3), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 4), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 5), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 6), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 7), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 8), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.yellow_flower, 1, 8), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bluebell, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marigold, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lavender, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 0), 15),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 1), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 4), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 5), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 1), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 0), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 1), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 2), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 3), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 4), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 0), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 0), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 1), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 2), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 3), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 2), 45),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 3), 45),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 5), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GONDOR_FLORIST_BUY).setVessels(LOTRFoods.GONDOR_DRINK);

        GONDOR_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.beef), 5),
                new LOTRTradeEntry(new ItemStack(Items.porkchop), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 5),
                new LOTRTradeEntry(new ItemStack(Items.chicken), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.camelRaw), 8),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GONDOR_BUTCHER_BUY).setVessels(LOTRFoods.GONDOR_DRINK);

        ROHAN_BREWER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPlumKvass, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlueberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlackberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRaspberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCranberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugElderberryJuice), 5),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)ROHAN_BREWER_BUY).setVessels(LOTRFoods.ROHAN_DRINK);

        ROHAN_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.beef), 5),
                new LOTRTradeEntry(new ItemStack(Items.porkchop), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 5),
                new LOTRTradeEntry(new ItemStack(Items.chicken), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)ROHAN_BUTCHER_BUY).setVessels(LOTRFoods.ROHAN_DRINK);;

        DUNEDAIN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.rangerTable), 100),
                new LOTRTradeEntry(new ItemStack(Items.iron_sword), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerIron), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearIron), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeIron), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordBronze), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBronze), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearBronze), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBronze), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRanger), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRanger), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRanger), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRanger), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 16),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12));
        ((MixinLOTRTradeEntriesOverrides)(Object)DUNEDAIN_BLACKSMITH_BUY).setVessels(LOTRFoods.RANGER_DRINK);

        RHUN_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordRhun), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerRhun), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearRhun), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeRhun), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmRhun), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeRhun), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRhun), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRhun), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRhun), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRhun), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRhunGold), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRhunGold), 45),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRhunGold), 35),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRhunGold), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorRhunGold), 25));
        ((MixinLOTRTradeEntriesOverrides)(Object)RHUN_BLACKSMITH_BUY).setVessels(LOTRFoods.RHUN_DRINK);

        RHUN_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.beef), 5),
                new LOTRTradeEntry(new ItemStack(Items.porkchop), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 5),
                new LOTRTradeEntry(new ItemStack(Items.chicken), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)RHUN_BUTCHER_BUY).setVessels(LOTRFoods.RHUN_DRINK);

        RHUN_BREWER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAraq, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAraq, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugSourMilk, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugSourMilk, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugSourMilk, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPlumKvass, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugVodka, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugVodka, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugVodka, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 9999), 15),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugRedWine, 1, 2), 160),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugRedWine, 1, 3), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 9999), 15),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugWhiteWine, 1, 2), 160),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugWhiteWine, 1, 3), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateWine, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPomegranateWine, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPomegranateWine, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6), new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlueberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlackberryJuice), 5), new LOTRTradeEntry(new ItemStack(LOTRMod.mugRaspberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCranberryJuice), 5), new LOTRTradeEntry(new ItemStack(LOTRMod.mugElderberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedGrapeJuice), 8), new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteGrapeJuice), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateJuice), 5),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)RHUN_BREWER_BUY).setVessels(LOTRFoods.RHUN_DRINK);

        RHUN_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oliveBread), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletCopper), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletWood), 2),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRedWine, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugWhiteWine, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateWine, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugSourMilk, 1, 9999), 8),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)RHUN_BARTENDER_BUY).setVessels(LOTRFoods.RHUN_DRINK);


        RIVENDELL_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.rivendellTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordRivendell), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmRivendell), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearRivendell), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerRivendell), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearRivendell), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeRivendell), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeRivendell), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shovelRivendell), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRivendell), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRivendell), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRivendell), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRivendell), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorRivendell), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rivendellBow), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3));
       ((MixinLOTRTradeEntriesOverrides)(Object)RIVENDELL_SMITH_BUY).setVessels(LOTRFoods.ELF_DRINK);

        RIVENDELL_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordRivendell), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerRivendell), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearRivendell), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.polearmRivendell), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.longspearRivendell), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rivendellBow), 21),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetRivendell), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyRivendell), 36),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsRivendell), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsRivendell), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.planks, 4, 9), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.highElvenTorch, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lembas), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMiruvor, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 6), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)RIVENDELL_TRADER_BUY).setVessels(LOTRFoods.ELF_DRINK);

        GUNDABAD_TRADER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.gundabadTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetBronze), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyBronze), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsBronze), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsBronze), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordBronze), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearBronze), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBronze), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBronzePoisoned), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBronze), 18),
                new LOTRTradeEntry(new ItemStack(Items.iron_sword), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearIron), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerIron), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerIronPoisoned), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeIron), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrcDraught, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.fur), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcBow), 16),
                new LOTRTradeEntry(new ItemStack(Items.arrow, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeBronze), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.axeBronze), 14),
                new LOTRTradeEntry(new ItemStack(Items.iron_pickaxe), 14),
                new LOTRTradeEntry(new ItemStack(Items.iron_axe), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maggotyBread), 4),
                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.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, 1), 500));
                ((MixinLOTRTradeEntriesOverrides)(Object)GUNDABAD_TRADER_BUY).setVessels(LOTRFoods.ORC_DRINK);

        GUNDABAD_TRADER_SELL = new LOTRTradeEntries(TradeType.SELL,
                new LOTRTradeEntry(new ItemStack(LOTRMod.orcSteel), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.urukSteel), 3),
                new LOTRTradeEntry(new ItemStack(Items.iron_ingot), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronze), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.diamond), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.emerald), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.sapphire), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ruby), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.opal), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pearl), 25),
                new LOTRTradeEntry(new ItemStack(Items.string, 3), 1),
                new LOTRTradeEntry(new ItemStack(Items.feather), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 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(LOTRMod.hobbitBone), 1),
                new LOTRTradeEntry(new ItemStack(Items.bone), 1),
                new LOTRTradeEntry(new ItemStack(LOTRMod.manFlesh), 3));
    }


    /**
     * @author
     * @reason
     */
    @Inject(method = "setupTrades2", at = @At("RETURN"), remap = false)
    private static void newTrades2(CallbackInfo ci) {
        NEAR_HARAD_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.nearHaradTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarNearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerNearHarad), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerNearHaradPoisoned), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.poleaxeNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maceNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordHarad), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHarad), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHaradPoisoned), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetNearHarad), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyNearHarad), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsNearHarad), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsNearHarad), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetserpent), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyserpent), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsserpent), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsserpent), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorNearHarad), 25));
        ((MixinLOTRTradeEntriesOverrides)(Object)NEAR_HARAD_BLACKSMITH_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);
        HARNEDOR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.nearHaradTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordHarad), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHarad), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHaradPoisoned), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetHarnedor), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyHarnedor), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsHarnedor), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsHarnedor), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12));
        ((MixinLOTRTradeEntriesOverrides)(Object)HARNEDOR_BLACKSMITH_BUY).setVessels(LOTRFoods.HARNEDOR_DRINK);
        UMBAR_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.umbarTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.scimitarNearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerNearHarad), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerNearHaradPoisoned), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.poleaxeNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.maceNearHarad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetUmbar), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyUmbar), 35),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsUmbar), 29),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsUmbar), 19),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordCorsair), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerCorsair), 9),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerCorsairPoisoned), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearCorsair), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeCorsair), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetCorsair), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyCorsair), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsCorsair), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsCorsair), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetUsurper), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyUsurper), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsUsurper), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsUsurper), 100),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horseArmorUmbar), 25));
        ((MixinLOTRTradeEntriesOverrides)(Object)UMBAR_BLACKSMITH_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);
        GULF_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.gulfTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordGulfHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHarad), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHaradPoisoned), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetGulfHarad), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyGulfHarad), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsGulfHarad), 26),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsGulfHarad), 17),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12));
        ((MixinLOTRTradeEntriesOverrides)(Object)GULF_BLACKSMITH_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);

        HARNEDOR_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.camelCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.kebab), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shishKebab), 8),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oliveBread), 6),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orange), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plum), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletCopper), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletWood), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.fruitsalad, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)HARNEDOR_BARTENDER_BUY).setVessels(LOTRFoods.HARNEDOR_DRINK);

        HARAD_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.beef), 5),
                new LOTRTradeEntry(new ItemStack(Items.porkchop), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 5),
                new LOTRTradeEntry(new ItemStack(Items.chicken), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.camelRaw), 4),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)HARAD_BUTCHER_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);

        HARAD_BREWER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAraq, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAraq, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 9999), 12),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 2), 140),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 3), 180),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 9999), 12),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 2), 140),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 3), 180),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateWine, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMelonLiqueur, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBananaBeer, 1, 9999), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugChocolate), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlueberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlackberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRaspberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCranberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugElderberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPomegranateJuice), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMangoJuice), 8),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)HARAD_BREWER_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);

        HARAD_FLORIST_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 1), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 2), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.haradFlower, 1, 3), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 2), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 3), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 0), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 1), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 2), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 3), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhunFlower, 1, 4), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 0), 25),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 0), 6),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 4), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 5), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 6), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 7), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 8), 6),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.yellow_flower, 1, 8), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bluebell, 1, 0), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marigold, 1, 0), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lavender, 1, 0), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 0), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 1), 15),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 4), 15),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 5), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 1), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.morgulShroom, 1, 0), 20),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spice, 1), 10),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 5), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)HARAD_FLORIST_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);

        NOMAD_ARMOURER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.nearHaradTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordHarad), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHarad), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerHaradPoisoned), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeHarad), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetNomad), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyNomad), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsNomad), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsNomad), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetHaradRobes), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyHaradRobes), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsHaradRobes), 22),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsHaradRobes), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12));
        ((MixinLOTRTradeEntriesOverrides)(Object)NOMAD_ARMOURER_BUY).setVessels(LOTRFoods.NOMAD_DRINK);

        GULF_HUNTER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.fur), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.horn), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lionFur), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHide), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gemsbokHorn), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoHorn), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lionRaw), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.zebraRaw), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoRaw), 8),
                new LOTRTradeEntry(new ItemStack(Items.rotten_flesh), 3),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GULF_HUNTER_BUY).setVessels(LOTRFoods.GULF_HARAD_DRINK);

        SOUTHRON_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.camelCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.kebab), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shishKebab), 8),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oliveBread), 6),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orange), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plum), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lemonCakeItem), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletCopper), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletWood), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.fruitsalad, 1), 6),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)SOUTHRON_BARTENDER_BUY).setVessels(LOTRFoods.SOUTHRON_DRINK);

        GULF_BARTENDER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.camelCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.kebab), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shishKebab), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lionCooked), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.zebraCooked), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rhinoCooked), 12),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.oliveBread), 6),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.orange), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plum), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lemonCakeItem), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugOrangeJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.woodPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletCopper), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletWood), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.waterskin), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.skullCup), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAraq, 1, 9999), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLemonLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugLimeLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCactusLiqueur, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBananaBeer, 1, 9999), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMangoJuice), 10),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
                new LOTRTradeEntry(new ItemStack(CinderLoE.fruitsalad, 1), 6),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)GULF_BARTENDER_BUY).setVessels(LOTRFoods.GULF_HARAD_DRINK);

        TAUREDAIN_SMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.tauredainTable), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordTauredain), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerTauredain), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearTauredain), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeTauredain), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerTauredain), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeTauredain), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetTauredain), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bodyTauredain), 32),
                new LOTRTradeEntry(new ItemStack(LOTRMod.legsTauredain), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bootsTauredain), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.helmetTauredainChieftain), 40),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20));
        ((MixinLOTRTradeEntriesOverrides)(Object)TAUREDAIN_SMITH_BUY).setVessels(LOTRFoods.TAUREDAIN_DRINK);

        WICKED_DWARF_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hammerDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pickaxeDwarven), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mattockDwarven), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.throwingAxeDwarven), 18),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarfBars, 8), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.dwarvenForge), 100),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenAle, 1, 9999), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugDwarvenTonic, 1, 9999), 30),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick, 8, 6), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.slabSingle, 16, 7), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.stairsDwarvenBrick, 5, 0), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.wall, 8, 7), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick2, 1, 12), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pillar, 4, 0), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.slabSingle2, 8, 0), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick4, 8, 5), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.slabSingle7, 16, 6), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.stairsDwarvenBrickCracked, 5, 0), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.wall4, 8, 5), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pillar2, 4, 0), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.slabSingle7, 8, 7), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick, 1, 8), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick, 1, 9), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick3, 1, 12), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.brick4, 8, 14), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.slabSingle8, 16, 6), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.stairsDwarvenBrickObsidian, 5, 0), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.wall4, 8, 6), 8),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.spicedHam, 1), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gateDwarven, 1, 0), 12));
        ((MixinLOTRTradeEntriesOverrides)(Object)WICKED_DWARF_BUY).setVessels(LOTRFoods.DWARF_DRINK);

        BREE_BLACKSMITH_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.breeTable), 100),
                new LOTRTradeEntry(new ItemStack(Items.iron_sword), 12),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerIron), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearIron), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeIron), 15),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pikeIron), 16),
                new LOTRTradeEntry(new ItemStack(LOTRMod.swordBronze), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.daggerBronze), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.spearBronze), 13),
                new LOTRTradeEntry(new ItemStack(LOTRMod.battleaxeBronze), 13),
                new LOTRTradeEntry(new ItemStack((Item)Items.iron_helmet), 16),
                new LOTRTradeEntry(new ItemStack((Item)Items.iron_chestplate), 22),
                new LOTRTradeEntry(new ItemStack((Item)Items.iron_leggings), 18),
                new LOTRTradeEntry(new ItemStack((Item)Items.iron_boots), 14),
                new LOTRTradeEntry(new ItemStack(CinderLoE.helmetBree), 16),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bodyBree), 22),
                new LOTRTradeEntry(new ItemStack(CinderLoE.legsBree), 18),
                new LOTRTradeEntry(new ItemStack(CinderLoE.bootsBree), 14),
                new LOTRTradeEntry(new ItemStack(LOTRMod.blacksmithHammer), 16),
                new LOTRTradeEntry(new ItemStack(Blocks.iron_bars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeBars, 8), 20),
                new LOTRTradeEntry(new ItemStack(LOTRMod.crossbowBolt, 4), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ironCrossbow), 15),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 1), 200),
                new LOTRTradeEntry(new ItemStack(CinderLoE.forgingKit, 1, 0), 200),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bronzeCrossbow), 12));
                ((MixinLOTRTradeEntriesOverrides)(Object)BREE_BLACKSMITH_BUY).setVessels(LOTRFoods.BREE_DRINK);

        BREE_INNKEEPER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.cooked_beef), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_porkchop), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonCooked), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_chicken), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerCooked), 7),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitCooked), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitStew), 10),
                new LOTRTradeEntry(new ItemStack(Items.bread), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicMug), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletCopper), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gobletWood), 2),
                new LOTRTradeEntry(new ItemStack(Items.baked_potato, 2), 7),
                new LOTRTradeEntry(new ItemStack(Items.cooked_fished), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 7),
                new LOTRTradeEntry(new ItemStack(Items.mushroom_stew), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mushroomPie), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.leekSoup), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.plate), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.ceramicPlate), 2),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.pipeweed, 4), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.hobbitPipe), 25),
                new LOTRTradeEntry(new ItemStack(CinderLoE.flatbread, 1), 3),
                new LOTRTradeEntry(new ItemStack(CinderLoE.lightStew, 1), 6),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BREE_INNKEEPER_BUY).setVessels(LOTRFoods.BREE_DRINK);

        BREE_BUTCHER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(Items.beef), 5),
                new LOTRTradeEntry(new ItemStack(Items.porkchop), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.gammon), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.muttonRaw), 5),
                new LOTRTradeEntry(new ItemStack(Items.chicken), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.rabbitRaw), 4),
                new LOTRTradeEntry(new ItemStack(LOTRMod.deerRaw), 4),
                new LOTRTradeEntry(new ItemStack(Items.leather), 3),
                new LOTRTradeEntry(new ItemStack(Items.feather), 3),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 4), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BREE_BUTCHER_BUY).setVessels(LOTRFoods.BREE_DRINK);

        BREE_BREWER_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAle, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugAle, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCider, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCider, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPerry, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPerry, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMapleBeer, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMapleBeer, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMapleBeer, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugPlumKvass, 1, 9999), 10),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 2), 120),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugPlumKvass, 1, 3), 170),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugMead, 1, 9999), 12),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 2), 140),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugMead, 1, 3), 180),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 9999), 12),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 2), 140),
                new LOTRTradeEntryBarrel(new ItemStack(LOTRMod.mugCherryLiqueur, 1, 3), 180),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugAppleJuice), 6),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlueberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugBlackberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugRaspberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugCranberryJuice), 5),
                new LOTRTradeEntry(new ItemStack(LOTRMod.mugElderberryJuice), 5),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 3), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BREE_BREWER_BUY).setVessels(LOTRFoods.BREE_DRINK);

        BREE_FLORIST_BUY = new LOTRTradeEntries(TradeType.BUY,
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 1), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 2), 6),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 3), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 4), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 5), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 6), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 7), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.red_flower, 1, 8), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.yellow_flower, 1, 8), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.bluebell, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.marigold, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack(LOTRMod.lavender, 1, 0), 3),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 0), 10),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 1), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 4), 8),
                new LOTRTradeEntry(new ItemStack((Block)Blocks.double_plant, 1, 5), 8),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 1), 10),
                new LOTRTradeEntry(new ItemStack(LOTRMod.doubleFlower, 1, 0), 25),
                new LOTRTradeEntry(new ItemStack(LOTRMod.shireHeather, 1, 0), 6),
        new LOTRTradeEntry(new ItemStack(CinderLoE.spiceIngredient, 1, 5), 500));
        ((MixinLOTRTradeEntriesOverrides)(Object)BREE_FLORIST_BUY).setVessels(LOTRFoods.BREE_DRINK);
    }

}

