取消伤害动画

时间:2016-11-25 16:21:51

标签: java minecraft minecraft-forge

我正在制作一个增加盔甲的mod,让你立于不败之地。到目前为止,我有这段代码:

@SubscribeEvent
public void onPlayerHurt(LivingHurtEvent event) {
    if(event.getEntity() != null && event.getEntity() instanceof  EntityPlayer){
        EntityPlayer player = (EntityPlayer) event.getEntity();
        for(ItemStack stack : player.getArmorInventoryList()) {
            if(stack != null && stack.getItem() instanceof ItemUltimusArmor){
                event.setCanceled(true);
            }
        }
    }
}

当我使用我的盔甲时,这确实取消了伤害,但我仍然得到了噪音和动画。穿着这件盔甲的时候,我希望能够没有那件东西。我有什么方法可以做到吗?

1 个答案:

答案 0 :(得分:1)

我明白了。我使用LivingAttackEvent来监听事件,文字使用与LivingHurtEvent相同的代码,并且它有效。感谢Pokechu22的建议!