Posted February 15, 201411 yr I have this class: package tlhpoe.fs.item; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class ItemHermesRing extends Item { public ItemHermesRing() { super(); setMaxStackSize(1); setMaxDamage(100); } @Override public void onUpdate(ItemStack is, World world, Entity entity, int par4, boolean par5) { if(!world.isRemote) if(entity instanceof EntityPlayer) { //EntityPlayer player = (EntityPlayer) entity; int dmg = is.getItemDamage(); switch(dmg) { case (99): // return; case (1): // return; } System.err.println("SETTING TO 99"); is.setItemDamage(99); } } @Override public ItemStack onItemRightClick(ItemStack is, World w, EntityPlayer player) { if(!w.isRemote) { int dmg = is.getItemDamage(); switch(dmg) { case (99): is.setItemDamage(1); return is; case (1): is.setItemDamage(99); return is; } } return is; } } For some reason, at this part: @Override public ItemStack onItemRightClick(ItemStack is, World w, EntityPlayer player) { if(!w.isRemote) { int dmg = is.getItemDamage(); switch(dmg) { case (99): is.setItemDamage(1); return is; case (1): is.setItemDamage(99); return is; } } return is; } Everytime I right click, it goes directly to case (99). Am I doing something wrong with setting the itemstack's damage? Kain
February 15, 201411 yr Well every update tick you are telling it to set the damage to 99, so what did you expect to happen? http://i.imgur.com/NdrFdld.png[/img]
February 15, 201411 yr Author If the itemstack's damage is 99 or 1, it returns and doesn't set it to 99. Kain
February 15, 201411 yr Check the onUpdate method. It does exactly what Alias said it does as long as the entity is a player. If you really want help, give that modder a thank you. Modders LOVE thank yous.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.