diff --git a/Bukkit/src/main/java/com/plotsquared/bukkit/listeners/PlayerEvents.java b/Bukkit/src/main/java/com/plotsquared/bukkit/listeners/PlayerEvents.java index 8570b7373..fa4577e26 100644 --- a/Bukkit/src/main/java/com/plotsquared/bukkit/listeners/PlayerEvents.java +++ b/Bukkit/src/main/java/com/plotsquared/bukkit/listeners/PlayerEvents.java @@ -1322,12 +1322,13 @@ public class PlayerEvents extends PlotListener implements Listener { case WATER_BUCKET: case LAVA_BUCKET: { if (event.getBlock().getType() == Material.DROPPER) return; + BlockFace targetFace = ((org.bukkit.material.Dispenser) event.getBlock().getState().getData()).getFacing(); + Location location = BukkitUtil.getLocation(event.getBlock().getRelative(targetFace).getLocation()); + if (location.isPlotRoad()) { + event.setCancelled(true); + } } - } - Location location = BukkitUtil.getLocation(event.getVelocity().toLocation(event.getBlock().getWorld())); - if (location.isPlotRoad()) { - event.setCancelled(true); - } + } } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)