42TARDIS Posted November 5, 2013 Posted November 5, 2013 I want to make my mob only able to be damaged by a player using a particular weapon, however when testing, no weapons do any damage. Method: public boolean attackEntityFrom(DamageSource par1DamageSource, float par2) { Entity entity = this.attackingPlayer; if(entity instanceof EntityPlayer) { if(mc.thePlayer.getHeldItem() == new ItemStack(MyMod.Knife)) { return true; } else return false; } else return false; } Quote
zerozhou Posted November 5, 2013 Posted November 5, 2013 Maybe you need to call DamageEntity() in EntityLivingBase, not just return true. And you could see the code of EntityLivingBase for more information. Quote
42TARDIS Posted November 5, 2013 Author Posted November 5, 2013 Thanks, I'll have a look into that Quote
TheGreyGhost Posted November 5, 2013 Posted November 5, 2013 Hi Your function never returns true because if(mc.thePlayer.getHeldItem() == new ItemStack(MyMod.Knife)) is never true. getHeldItem is a different object to the new ItemStack even if they are identical. try instead if(mc.thePlayer.getHeldItem().itemID == MyMod.Knife.itemID)) -TGG Quote
42TARDIS Posted November 6, 2013 Author Posted November 6, 2013 Thanks for that, got it working now Quote
Recommended Posts
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.