package openblocks.common; import cpw.mods.fml.common.registry.VillagerRegistry.IVillageTradeHandler; import java.util.Random; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.village.MerchantRecipe; import net.minecraft.village.MerchantRecipeList; import net.minecraftforge.oredict.OreDictionary; import openblocks.Config; public class RadioVillagerTradeManager implements IVillageTradeHandler { private static ItemStack randomItemAmount(Random random, Item item, int min, int max) { int amount = random.nextInt(max - min) + min; return new ItemStack(item, amount); } private static ItemStack randomEmeralds(Random random, int min, int max) { return randomItemAmount(random, Items.emerald, min, max); } @Override public void manipulateTradesForVillager(EntityVillager villager, MerchantRecipeList recipeList, Random random) { if (Config.radioVillagerRecords) { for (ItemStack record : OreDictionary.getOres("record")) if (random.nextFloat() < 0.01) recipeList.addToListWithCheck( new MerchantRecipe( randomEmeralds(random, 7, 15), record)); } if (random.nextFloat() > 0.5) recipeList.addToListWithCheck( new MerchantRecipe( randomEmeralds(random, 1, 2), new ItemStack(Blocks.noteblock))); if (random.nextFloat() > 0.25 || recipeList.isEmpty()) recipeList.addToListWithCheck( new MerchantRecipe( randomEmeralds(random, 3, 7), new ItemStack(Blocks.jukebox))); } }