From 783c8b7d2bda0933cdab98f4f81d7eb5c04bfa9a Mon Sep 17 00:00:00 2001 From: Jonathing Date: Tue, 18 Feb 2025 17:58:43 -0500 Subject: [PATCH] Honor attacker shield disabling status (#10321) --- .../minecraft/net/minecraft/world/item/AxeItem.java.patch | 7 ++++++- .../net/minecraftforge/common/extensions/IForgeItem.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/patches/minecraft/net/minecraft/world/item/AxeItem.java.patch b/patches/minecraft/net/minecraft/world/item/AxeItem.java.patch index b0952a92ee..4ebd5e3261 100644 --- a/patches/minecraft/net/minecraft/world/item/AxeItem.java.patch +++ b/patches/minecraft/net/minecraft/world/item/AxeItem.java.patch @@ -15,7 +15,7 @@ ItemStack itemstack = p_40529_.m_43722_(); Optional optional3 = Optional.empty(); if (optional.isPresent()) { -@@ -71,9 +_,20 @@ +@@ -71,9 +_,25 @@ } } @@ -34,5 +34,10 @@ + @Override + public boolean canPerformAction(ItemStack stack, net.minecraftforge.common.ToolAction toolAction) { + return net.minecraftforge.common.ToolActions.DEFAULT_AXE_ACTIONS.contains(toolAction); ++ } ++ ++ @Override ++ public boolean canDisableShield(ItemStack stack, ItemStack shield, net.minecraft.world.entity.LivingEntity entity, net.minecraft.world.entity.LivingEntity attacker) { ++ return true; } } diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java index a7502247fe..10f158c823 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeItem.java @@ -692,7 +692,7 @@ public interface IForgeItem */ default boolean canDisableShield(ItemStack stack, ItemStack shield, LivingEntity entity, LivingEntity attacker) { - return this instanceof AxeItem; + return attacker.canDisableShield(); } /**