Posted July 11, 201312 yr Trying to add a potion effect to the player when he attacks something. It does add the potion effect, but it shows up with a duration of 0:00 and it never goes away, also the icon isn't there. Not sure why. Any ideas? Here's my event code. I left out a bunch of conditionals, they are commented out while I'm debugging this now. public class EventHook { @ForgeSubscribe public void entityAttacked(LivingAttackEvent event) { if( !event.worldObj.isRemote ) return; EntityPlayer player = Minecraft.getMinecraft().thePlayer; player.addPotionEffect(new PotionEffect(Potion.heal.getID(), 1, 1)); } }
July 11, 201312 yr @ForgeSubscribe public void LivingAttackEvent(LivingAttackEvent event) { if(event.entityLiving instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) event.entityLiving; player.addPotionEffect(new PotionEffect(Potion.heal.getId(), 200, 1)); } } It should work like this (or similar, this is for 1.6.2).
July 12, 201312 yr Author Hmm, just tried that. It gave me an error when I attacked a chicken. Couldn't cast chicken to EntityPlayerMP. Also tried EntityPlayerMP player = (EntityPlayerMP) event.source.getEntity(); this gave me a casting error as well. EntityClientPlayerMP cannot be cast to EntityPlayerMP. Forge keeps confusing me.
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.