diff options
| author | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-15 16:52:41 +0200 |
|---|---|---|
| committer | OnyxDarkKnight <sor1n.iliutza16@gmail.com> | 2013-12-15 16:52:41 +0200 |
| commit | 06415dc21d71e8ac363dae5c56c5317971f7aede (patch) | |
| tree | 7ddbe2cc709a5a39c3fe8b8a80d7ac77f336a220 /common/darkknight/jewelrycraft/item/ItemThiefGloves.java | |
| parent | 9342967bd8a6a9451591325c7c5deb5416819adc (diff) | |
| parent | 943f1a493b27c630e95730b385e6524643d98564 (diff) | |
Merge branch 'master' of https://github.com/sor1n/Modjam-Mod
As well as added the smelter and working on the molder
Diffstat (limited to 'common/darkknight/jewelrycraft/item/ItemThiefGloves.java')
| -rw-r--r-- | common/darkknight/jewelrycraft/item/ItemThiefGloves.java | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/common/darkknight/jewelrycraft/item/ItemThiefGloves.java b/common/darkknight/jewelrycraft/item/ItemThiefGloves.java new file mode 100644 index 0000000..97d83cd --- /dev/null +++ b/common/darkknight/jewelrycraft/item/ItemThiefGloves.java @@ -0,0 +1,64 @@ +package darkknight.jewelrycraft.item; + +import java.util.Iterator; +import java.util.Random; + +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); + this.setCreativeTab(CreativeTabs.tabTools); + } + + @Override + public boolean itemInteractionForEntity(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, EntityLivingBase par3EntityLivingBase) + { + if (par3EntityLivingBase instanceof EntityVillager) + { + 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(); + int quantity; + if(recipe.getItemToSell().isStackable()) quantity = recipe.getItemToSell().stackSize * 7; + else quantity = 1; + ItemStack s = new ItemStack(recipe.getItemToSell().itemID, quantity, recipe.getItemToSell().getItemDamage()); + s.setTagCompound(recipe.getItemToSell().getTagCompound()); + if(par2EntityPlayer.inventory.addItemStackToInventory(s)); + else villager.entityDropItem(s, 0); + par2EntityPlayer.addChatMessage("Villager #" + villager.getProfession() + ": Hmmm... I seem to have lost my " + s.getDisplayName() + "!"); + } + buyingList.clear(); + ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 300, "timeUntilReset", "field_70961_j"); + ReflectionHelper.setPrivateValue(EntityVillager.class, villager, true, "needsInitilization", "field_70959_by"); + } + + villager.dropItem(Item.emerald.itemID, wealth); + ReflectionHelper.setPrivateValue(EntityVillager.class, villager, 0, "wealth", "field_70956_bz"); + return true; + } + else + { + return super.itemInteractionForEntity(par1ItemStack, par2EntityPlayer, par3EntityLivingBase); + } + } + +} |
