@EventHandler (ignoreCancelled = true) public void onPlayerEmptyBucket (PlayerBucketEmptyEvent event) { Block block = event.getBlockClicked(); if(event.getBucket() == Material.WATER_BUCKET && block.getBlockData() instanceof Waterlogged) { if(((Waterlogged)block.getBlockData()).isWaterlogged()) block = block.getRelative(event.getBlockFace()); } else block = block.getRelative(event.getBlockFace()); if(!otherPermission.canEmptyBucket(player, block)) { Utility.showError(player, "You can't drop liquids here"); event.setCancelled(true); } }