package com.jaquadro.minecraft.gardencontainers.core.handlers;
import com.jaquadro.minecraft.gardencontainers.GardenContainers;
import com.jaquadro.minecraft.gardencontainers.core.ModItems;
import cpw.mods.fml.common.registry.VillagerRegistry;
import net.minecraft.entity.passive.EntityVillager;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.village.MerchantRecipe;
import net.minecraft.village.MerchantRecipeList;
import java.util.Random;
public class VillagerTradeHandler implements VillagerRegistry.IVillageTradeHandler
{
private static VillagerTradeHandler instance = new VillagerTradeHandler();
public static VillagerTradeHandler instance () {
return instance;
}
public void load () {
if (GardenContainers.config.enableVillagerTrading) {
VillagerRegistry.instance().registerVillageTradeHandler(1, this);
VillagerRegistry.instance().registerVillageTradeHandler(2, this);
VillagerRegistry.instance().registerVillageTradeHandler(3, this);
}
}
@Override
public void manipulateTradesForVillager (EntityVillager villager, MerchantRecipeList recipeList, Random random) {
float buyProb = 1.5f / GardenContainers.config.getPatternCount();
float sellProb = .5f / GardenContainers.config.getPatternCount();
for (int i = 1; i < 256; i++) {
if (GardenContainers.config.hasPattern(i)) {
if (random.nextFloat() < buyProb) {
int emeralds = 1 + random.nextInt(4);
recipeList.add(new MerchantRecipe(new ItemStack(ModItems.potteryPattern, 1, i), new ItemStack(Items.emerald, emeralds)));
}
else if (random.nextFloat() < sellProb) {
int emeralds = 8 + random.nextInt(16);
recipeList.add(new MerchantRecipe(new ItemStack(Items.emerald, emeralds), new ItemStack(ModItems.potteryPattern, 1, i)));
}
}
}
}
}