jredfox Posted June 9, 2018 Posted June 9, 2018 (edited) @SubscribeEvent(priority = EventPriority.LOW) public void hurt(LivingHurtEvent e) { if(!(e.getEntity() instanceof EntityPlayerMP)) return; EntityPlayerMP player = (EntityPlayerMP) e.getEntity(); CapAbility cap = (CapAbility) CapabilityReg.getCapabilityConatainer(player).getCapability(new ResourceLocation(Reference.MODID + ":" + "ability")); if(cap.godEnabled) { System.out.println("here"); player.capabilities.disableDamage = true; player.sendPlayerAbilities(); e.setResult(Result.DENY); e.setAmount(0.0F); e.setCanceled(true); } } As you can see above the code prints here and sets it canceled but, the hurt sound still plays. Yes I tried always canceling it regardless of what entity it is and that still played the hurt sound. Issue: hurt sound and animation still plays even though damage isn't even suppose to be dealt once canceled to the player Test 2 still plays sound: @SubscribeEvent(priority = EventPriority.LOW) public void hurt(LivingHurtEvent e) { if(!(e.getEntity() instanceof EntityPlayer)) return; e.setCancled(true); } Test 3 still plays sound: @SubscribeEvent(priority = EventPriority.LOW) public void hurt(LivingHurtEvent e) { e.setCancled(true); } Edited June 9, 2018 by jredfox Quote
jredfox Posted June 9, 2018 Author Posted June 9, 2018 59 minutes ago, jredfox said: godEnabled Solved Use LivingAttackEvent instead of hurt: @SubscribeEvent(priority = EventPriority.LOW) public void hurt(LivingAttackEvent e) { if(!(e.getEntity() instanceof EntityPlayerMP) || e.getSource() == DamageSource.OUT_OF_WORLD) return; EntityPlayerMP player = (EntityPlayerMP) e.getEntity(); CapAbility cap = (CapAbility) CapabilityReg.getCapabilityConatainer(player).getCapability(new ResourceLocation(Reference.MODID + ":" + "ability")); if(cap.godEnabled) { player.capabilities.disableDamage = true; player.sendPlayerAbilities(); e.setCanceled(true); } } 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.