@EventHandler (priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) { Block block = event.getBlockClicked(); Player player = event.getPlayer(); if (!playerCanUseItemHere(player, block.getLocation(), event.getBucket(), false)) { event.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onPlayerBucketEmpty(PlayerBucketEmptyEvent event) { Player player = event.getPlayer(); Block blockAffected = event.getBlockClicked().getRelative(event.getBlockFace()); boolean allowed = false; // Milk buckets can't be emptied as of writing if (event.getBucket() == Material.MILK_BUCKET) { allowed = true; } ItemStack item = new ItemStack(event.getBucket(), 1); Material blockMaterial = Materials.getBucketBlockMaterial(event.getBucket()); Events.fireToCancel(event, new PlaceBlockEvent(event, create(player), blockAffected.getLocation(), blockMaterial).setAllowed(allowed)); Events.fireToCancel(event, new UseItemEvent(event, create(player), player.getWorld(), item).setAllowed(allowed)); if (event.isCancelled()) { playDenyEffect(event.getPlayer(), blockAffected.getLocation().add(0.5, 0.5, 0.5)); } }
@EventHandler(priority = EventPriority.HIGH) public void onBucketEmpty(PlayerBucketEmptyEvent e) { Block clicked = e.getBlockClicked(); Block underWater = clicked.getRelative(BlockFace.DOWN).getRelative(e.getBlockFace()); if (shopUtils.isShop(clicked.getLocation())) { if (e.getBucket() == Material.LAVA_BUCKET) { Shop shop = shopUtils.getShop(clicked.getLocation()); if (shop.getItem() != null) { shop.getItem().resetForPlayer(e.getPlayer()); } } } else if (shopUtils.isShop(underWater.getLocation())) { if (e.getBucket() == Material.LAVA_BUCKET) { Shop shop = shopUtils.getShop(underWater.getLocation()); if (shop.getItem() != null) { shop.getItem().resetForPlayer(e.getPlayer()); } } } else { return; } e.setCancelled(true); }
if(bucketEvent.getBucket() == Material.LAVA_BUCKET) if(bucketEvent.getBucket() == Material.LAVA_BUCKET) if(bucketEvent.getBucket() == Material.WATER_BUCKET) exclusionAdjacentTypes = this.commonAdjacentBlocks_water; else GriefPrevention.AddLogEntry(player.getName() + " placed suspicious " + bucketEvent.getBucket().name() + " @ " + GriefPrevention.getfriendlyLocationString(block.getLocation()), CustomLogEntryTypes.SuspiciousActivity);
final Block liquid = block.getRelative(event.getBlockFace()); Material mat = event.getBucket();