diff options
| author | bspkrs <bspkrs@gmail.com> | 2013-12-16 13:47:14 -0500 |
|---|---|---|
| committer | bspkrs <bspkrs@gmail.com> | 2013-12-16 13:47:14 -0500 |
| commit | 54138e01c39832c7d95fb76e83b6a1d7ae30087a (patch) | |
| tree | 0e6e4f27527083e9917f03c385256d2ed1bdc734 /common/darkknight/jewelrycraft/item/ItemRing.java | |
| parent | d548c65cf67e9f9605093eade74bef62028b7cf6 (diff) | |
working on ItemRing
Diffstat (limited to 'common/darkknight/jewelrycraft/item/ItemRing.java')
| -rw-r--r-- | common/darkknight/jewelrycraft/item/ItemRing.java | 57 |
1 files changed, 51 insertions, 6 deletions
diff --git a/common/darkknight/jewelrycraft/item/ItemRing.java b/common/darkknight/jewelrycraft/item/ItemRing.java index c96dd2f..30d0be4 100644 --- a/common/darkknight/jewelrycraft/item/ItemRing.java +++ b/common/darkknight/jewelrycraft/item/ItemRing.java @@ -1,29 +1,32 @@ package darkknight.jewelrycraft.item; import java.util.List; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.potion.PotionEffect; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; public class ItemRing extends ItemBase { - public ItemStack ingot; + public ItemStack ingot; public PotionEffect effect; - + public ItemRing(int par1) { super(par1); this.setMaxStackSize(1); } - + public ItemRing(int par1, ItemStack ingot) { this(par1); this.ingot = ingot; } - + public ItemRing(int par1, ItemStack ingot, PotionEffect effect) { this(par1, ingot); @@ -34,6 +37,8 @@ public class ItemRing extends ItemBase { return 65535; } + + @Override public boolean onItemUse(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) { par2EntityPlayer.addChatMessage("Hello"); @@ -43,10 +48,50 @@ public class ItemRing extends ItemBase /** * allows items to add custom lines of information to the mouseover description */ + @Override @SuppressWarnings({ "rawtypes", "unchecked" }) public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) { - if(ingot != null) list.add(EnumChatFormatting.GRAY + ingot.getDisplayName()); - if(effect != null) list.add(EnumChatFormatting.GREEN + effect.getEffectName()); + if (ingot != null) + list.add(EnumChatFormatting.GRAY + ingot.getDisplayName()); + if (effect != null) + list.add(EnumChatFormatting.GREEN + effect.getEffectName()); + } + + public void addEnchantment(ItemStack ringStack, ItemStack ingotStack) + { + NBTTagList nbttaglist = this.func_92110_g(ringStack); + boolean flag = true; + + for (int i = 0; i < nbttaglist.tagCount(); ++i) + { + NBTTagCompound nbttagcompound = (NBTTagCompound) nbttaglist.tagAt(i); + + if (nbttagcompound.getShort("id") == par2EnchantmentData.enchantmentobj.effectId) + { + if (nbttagcompound.getShort("lvl") < par2EnchantmentData.enchantmentLevel) + { + nbttagcompound.setShort("lvl", (short) par2EnchantmentData.enchantmentLevel); + } + + flag = false; + break; + } + } + + if (flag) + { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setShort("id", (short) par2EnchantmentData.enchantmentobj.effectId); + nbttagcompound1.setShort("lvl", (short) par2EnchantmentData.enchantmentLevel); + nbttaglist.appendTag(nbttagcompound1); + } + + if (!ringStack.hasTagCompound()) + { + ringStack.setTagCompound(new NBTTagCompound()); + } + + ringStack.getTagCompound().setTag("StoredEnchantments", nbttaglist); } } |
