java - 取消伤害动画

标签 java minecraft minecraft-forge

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

@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);
            }
        }
    }
}

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

最佳答案

我明白了。我使用 LivingAttackEvent 来监听事件,实际上使用了与 LivingHurtEvent 相同的代码,并且它起作用了。感谢 Pokechu22 的建议!

关于java - 取消伤害动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40809090/

相关文章:

java - 访问 https ://www. googleapis.com/oauth2/v1/certs 时出现 404 错误

java - 获取编辑器的内容

java - 使用setter的有效方法

java - Intellij 无法正确导出

java - 自定义 block 不可冶炼? Java,Minecraft Forge 1.12.2

java - 为什么 Minecraft Forge 有这些奇怪的变量名?

java - Java 中复杂对象的不精确比较?

java - Bukkit - 为什么转换为 Damageable 有效?

使用 SHA256 的 PHP 登录脚本

java - Minecraft 模组 ".bindTexture"不起作用