From ea5397ae56706b9dfc18ed9f4febbc0a6722549f Mon Sep 17 00:00:00 2001 From: OnyxDarkKnight Date: Sat, 14 Dec 2013 11:10:02 +0200 Subject: made the thieving Gloves work! :D --- .../briefcasespeakers/item/ItemThiefGloves.java | 30 +++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) (limited to 'common/bspkrs') diff --git a/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java b/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java index 10e54d2..49c61f0 100644 --- a/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java +++ b/common/bspkrs/briefcasespeakers/item/ItemThiefGloves.java @@ -1,14 +1,23 @@ package bspkrs.briefcasespeakers.item; +import java.util.Iterator; +import java.util.Random; + +import cpw.mods.fml.common.registry.VillagerRegistry; +import cpw.mods.fml.relauncher.ReflectionHelper; + import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityVillager; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.village.MerchantRecipe; +import net.minecraft.village.MerchantRecipeList; public class ItemThiefGloves extends ItemBase { + public Random rand; public ItemThiefGloves(int par1) { super(par1); @@ -20,9 +29,24 @@ public class ItemThiefGloves extends ItemBase { if (par3EntityLivingBase instanceof EntityVillager) { - EntityVillager entityliving = (EntityVillager) par3EntityLivingBase; - MerchantRecipe recipe = null; - entityliving.dropItem(recipe.getItemToSell().itemID, recipe.getItemToSell().stackSize); + EntityVillager villager = (EntityVillager) par3EntityLivingBase; + int wealth = (Integer) ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "wealth", "field_70956_bz"); + MerchantRecipeList buyingList = (MerchantRecipeList) ReflectionHelper.getPrivateValue(EntityVillager.class, villager, "buyingList", "field_70963_i"); + if(buyingList!=null) + { + Iterator iterator = buyingList.iterator(); + while(iterator.hasNext()) + { + MerchantRecipe recipe = (MerchantRecipe)iterator.next(); + while(!recipe.func_82784_g()) + { + villager.dropItem(recipe.getItemToSell().itemID, recipe.getItemToSell().stackSize); + villager.dropItem(Item.emerald.itemID, wealth); + ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 0, wealth); + recipe.incrementToolUses(); + } + } + } return true; } else -- cgit v1.2.3