From 4a21bf43e7cd3bde7485ebad3c21c73f016099ac Mon Sep 17 00:00:00 2001 From: wizjany Date: Tue, 14 Jun 2022 11:31:24 -0400 Subject: [PATCH] Check if InventoryHolder BlockState is placed. Closes #1903. --- .../bukkit/listener/EventAbstractionListener.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java index c2d44990..ed9f72c4 100644 --- a/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java +++ b/worldguard-bukkit/src/main/java/com/sk89q/worldguard/bukkit/listener/EventAbstractionListener.java @@ -1215,8 +1215,7 @@ private static void handleInventoryHolderUse(T o return; } - if (holder instanceof Entity) { - Entity entity = (Entity) holder; + if (holder instanceof Entity entity) { Material mat = Materials.getRelatedMaterial((entity).getType()); UseEntityEvent useEntityEvent = new UseEntityEvent(originalEvent, cause, entity); if (mat != null && hasInteractBypass((entity).getWorld(), mat)) { @@ -1224,8 +1223,7 @@ private static void handleInventoryHolderUse(T o } Events.fireToCancel(originalEvent, useEntityEvent); } else { - if (holder instanceof BlockState) { - final BlockState block = (BlockState) holder; + if (holder instanceof BlockState block && block.isPlaced()) { final UseBlockEvent useBlockEvent = new UseBlockEvent(originalEvent, cause, block.getBlock()); if (hasInteractBypass(block.getWorld(), block.getType())) { useBlockEvent.setAllowed(true);