diff --git a/bukkit/src/main/java/com/viaversion/viaversion/bukkit/listeners/protocol1_19_4To1_19_3/ArmorToggleListener.java b/bukkit/src/main/java/com/viaversion/viaversion/bukkit/listeners/protocol1_19_4To1_19_3/ArmorToggleListener.java index 3fcdd2996..92636c49b 100644 --- a/bukkit/src/main/java/com/viaversion/viaversion/bukkit/listeners/protocol1_19_4To1_19_3/ArmorToggleListener.java +++ b/bukkit/src/main/java/com/viaversion/viaversion/bukkit/listeners/protocol1_19_4To1_19_3/ArmorToggleListener.java @@ -39,12 +39,16 @@ public final class ArmorToggleListener extends ViaBukkitListener { public void itemUse(final PlayerInteractEvent event) { final Player player = event.getPlayer(); final ItemStack item = event.getItem(); - if (item == null || event.getHand() == null || !isOnPipe(player)) { + if (item == null || event.getHand() == null) { return; } final EquipmentSlot armorItemSlot = item.getType().getEquipmentSlot(); - if (armorItemSlot != EquipmentSlot.HAND && armorItemSlot != EquipmentSlot.OFF_HAND) { + if (armorItemSlot == EquipmentSlot.HAND || armorItemSlot == EquipmentSlot.OFF_HAND || item.getType().isBlock()) { + return; + } + + if (isOnPipe(player)) { final PlayerInventory inventory = player.getInventory(); final ItemStack armor = inventory.getItem(armorItemSlot); // If two pieces of armor are equal, the client will do nothing.