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 a70244fa..f36e61db 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 @@ -1050,9 +1050,14 @@ public void onBlockDispense(BlockDispenseEvent event) { handleBlockRightClick(event, cause, item, clicked, placed); // handle special dispenser behavior - if (item != null && Materials.isShulkerBox(item.getType())) { - Events.fireToCancel(event, new PlaceBlockEvent(event, cause, placed.getLocation(), item.getType())); - return; + if (Materials.isShulkerBox(item.getType())) { + if (Events.fireToCancel(event, new PlaceBlockEvent(event, cause, placed.getLocation(), item.getType()))) { + playDenyEffect(placed.getLocation()); + } + } else if (isItemAppliedToBlock(item, placed)) { + if (Events.fireToCancel(event, new PlaceBlockEvent(event, cause, placed.getLocation(), placed.getType()))) { + playDenyEffect(placed.getLocation()); + } } } }