Posted August 3, 20187 yr Hi, I'm trying to figure out how I can check for a player holding a certain item either in the main hand or in the offhand; and if that player has that item, the method will return a number to execute a certain task for the entity im making this for. So far I have only checked for the active hand, but not the offhand. My original code is this: public int masterOrder() { int order = 0; EntityPlayer player = (EntityPlayer)this.getOwner(); if(player != null) { float distanceAway = player.getDistance(this); ItemStack itemstack = player.inventory.getCurrentItem(); if(itemstack != null && (itemstack.getItem() instanceof ItemTool) && distanceAway <= 20F) order = 1; if(itemstack != null && ((itemstack.getItem() instanceof ItemSword) || (itemstack.getItem() instanceof ItemBow))) order = 2; if(itemstack != null && itemstack.getItem() == Items.WHEAT) //Round up Talent order = 3; if(itemstack != null && itemstack.getItem() == Items.BONE) //Roar Talent order = 4; } return order; } Main Developer and Owner of Zero Quest Visit the Wiki for more information If I helped anyone, please give me a applaud and a thank you!
August 3, 20187 yr EntityPlayer#getItemStackFromSlot. Or EntityPlayer#getHeldItem(EnumHand). Or alternatively EntityPlayer#getHeldItemMainhand and EntityPlayer#getHeldItemOffhand. Any of these will do the trick. Edit: Problematic code issue #12. Edited August 3, 20187 yr by V0idWa1k3r
August 3, 20187 yr Author But how do I check for both respectively? Main Developer and Owner of Zero Quest Visit the Wiki for more information If I helped anyone, please give me a applaud and a thank you!
August 3, 20187 yr 3 minutes ago, NovaViper said: how do I check for both respectively? Check one, then check the other. player.getHeldItemMainhand().getItem() == Items.itemA && player.getHeldItemOffhand().getItem() == Items.itemB
August 3, 20187 yr Author That worked! Thanks for the help! Main Developer and Owner of Zero Quest Visit the Wiki for more information If I helped anyone, please give me a applaud and a thank you!
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.