@EventHandler(priority = EventPriority.NORMAL) public void onBlockBreak(BlockBreakEvent event) { Player p = event.getPlayer(); Location block_pos = event.getBlock().getLocation(); if (TotalFreedomMod.nukeMonitor) { TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(p); Location player_pos = p.getLocation(); boolean out_of_range = false; if (!player_pos.getWorld().equals(block_pos.getWorld())) { out_of_range = true; } else if (player_pos.distanceSquared(block_pos) > (TotalFreedomMod.nukeMonitorRange * TotalFreedomMod.nukeMonitorRange)) { out_of_range = true; } if (out_of_range) { playerdata.incrementFreecamDestroyCount(); if (playerdata.getFreecamDestroyCount() > TotalFreedomMod.freecamTriggerCount) { TFM_Util.bcastMsg( p.getName() + " has been flagged for possible freecam nuking.", ChatColor.RED); TFM_Util.autoEject( p, "Freecam (extended range) block breaking is not permitted on this server."); playerdata.resetFreecamDestroyCount(); event.setCancelled(true); return; } } playerdata.incrementBlockDestroyCount(); if (playerdata.getBlockDestroyCount() > TotalFreedomMod.nukeMonitorCountBreak) { TFM_Util.bcastMsg(p.getName() + " is breaking blocks too fast!", ChatColor.RED); TFM_Util.autoEject( p, "You are breaking blocks too fast. Nukers are not permitted on this server."); playerdata.resetBlockDestroyCount(); event.setCancelled(true); return; } } if (TotalFreedomMod.protectedAreasEnabled) { if (!TFM_SuperadminList.isUserSuperadmin(p)) { if (TFM_ProtectedArea.isInProtectedArea(block_pos)) { event.setCancelled(true); return; } } } }
// Code to prevent block breaking. @EventHandler(priority = EventPriority.NORMAL) public void preventoffmapbreak(BlockBreakEvent event) { Block b = event.getBlock(); Location loc = b.getLocation(); if (getArena().equals(name)) { if (!contains(loc, x1, x2, y1, y2, z1, z2)) { event.setCancelled(true); } } }
@SuppressWarnings("deprecation") @EventHandler(priority = EventPriority.LOW) public void onBlockBreak(BlockBreakEvent event) { Player player = event.getPlayer(); Client client = Client.getClient(player); if (client.isObserver() || !Rixor.getRotation().getSlot().getMatch().isCurrentlyRunning()) { event.setCancelled(true); return; } if (!client.isObserver()) { Map map = Rixor.getRotation().getSlot().getMap(); BlockState newState = event.getBlock().getState(); newState.setData(new MaterialData(Material.AIR, (byte) 0)); BlockChangeEvent change = new BlockChangeEvent(event, map, client, event.getBlock().getState(), newState); Rixor.callEvent(change); } }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onBlockBreak(BlockBreakEvent event) { ZoneManager manager = m_plugin.getZoneManager(); Zone zone = manager.getZone(event.getBlock().getLocation()); if (zone == null) { return; } if (!zone.canPlayerUse(event.getPlayer(), event.getBlock())) { sendMessageNoSpam(event.getPlayer(), UI.getMessage("NoBuild")); event.setCancelled(true); if (shouldBurn(event.getBlock())) { event.getPlayer().setFireTicks(100); } } }
public void callBlockEvent(BlockEvent event) { if (event instanceof BlockBreakEvent) { BlockBreakEvent blockBreakEvent = (BlockBreakEvent) event; List<BlockMechanic> mechanicsList = blockMechanicMap.get(blockBreakEvent.getBlock().getType()); if (mechanicsList == null) { mechanicsList = new ArrayList<BlockMechanic>(); } if (blockMechanicMap.containsKey(null)) { mechanicsList.addAll(blockMechanicMap.get(null)); } if (redstoneBlockMechanicMap.containsKey(blockBreakEvent.getBlock().getType())) { mechanicsList.addAll(redstoneBlockMechanicMap.get(blockBreakEvent.getBlock().getType())); } for (BlockMechanic mechanic : mechanicsList) { if (mechanic.getMechanicActivator() == null || mechanic .getMechanicActivator() .contains(blockBreakEvent.getPlayer().getItemInHand().getType())) { mechanic.onBlockBreak(blockBreakEvent.getPlayer(), blockBreakEvent.getBlock()); } } } else if (event instanceof BlockPlaceEvent) { BlockPlaceEvent blockPlaceEvent = (BlockPlaceEvent) event; List<BlockMechanic> mechanicsList = blockMechanicMap.get(blockPlaceEvent.getBlock().getType()); if (mechanicsList == null) { mechanicsList = new ArrayList<BlockMechanic>(); } if (blockMechanicMap.containsKey(null)) { mechanicsList.addAll(blockMechanicMap.get(null)); } if (redstoneBlockMechanicMap.containsKey(blockPlaceEvent.getBlock().getType())) { mechanicsList.addAll(redstoneBlockMechanicMap.get(blockPlaceEvent.getBlock().getType())); } for (BlockMechanic mechanic : mechanicsList) { if (mechanic.getMechanicActivator() == null || mechanic .getMechanicActivator() .contains(blockPlaceEvent.getPlayer().getItemInHand().getType())) { mechanic.onBlockBreak(blockPlaceEvent.getPlayer(), blockPlaceEvent.getBlock()); } } } }
@EventHandler(priority = EventPriority.NORMAL) public void onBlockBreak(BlockBreakEvent event) { if (event.isCancelled()) return; PlayerEvent playerEvent; if (SignUtil.isSign(event.getBlock())) { playerEvent = new PlayerEvent( SignUtil.getSign(event.getBlock()), PlayerEvent.Action.BREAK, event.getPlayer(), event); } else { playerEvent = new PlayerEvent(event.getBlock(), PlayerEvent.Action.BREAK, event.getPlayer(), event); } mechanicsHandler.callPlayerEvent(playerEvent); event.setCancelled(playerEvent.isCancelled()); }
@EventHandler(priority = EventPriority.MONITOR) public void onBlockBreak(BlockBreakEvent event) { if (event.isCancelled() || !OrebfuscatorConfig.getUpdateOnBreak()) return; OrebfuscatorThreadUpdate.Queue(event.getBlock()); }
/** Called when a block is broken. */ @Override public void onBlockBreak(BlockBreakEvent event) { if (event.isCancelled()) { return; } Player player = event.getPlayer(); WorldConfiguration wcfg = getWorldConfig(player); if (!wcfg.itemDurability) { ItemStack held = player.getItemInHand(); if (held.getTypeId() > 0) { held.setDurability((short) -1); player.setItemInHand(held); } } if (!plugin.getGlobalRegionManager().canBuild(player, event.getBlock())) { player.sendMessage(ChatColor.DARK_RED + "You don't have permission for this area."); event.setCancelled(true); return; } if (wcfg.getBlacklist() != null) { if (!wcfg.getBlacklist() .check( new BlockBreakBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), event.getBlock().getTypeId()), false, false)) { event.setCancelled(true); return; } if (!wcfg.getBlacklist() .check( new DestroyWithBlacklistEvent( plugin.wrapPlayer(player), toVector(event.getBlock()), player.getItemInHand().getTypeId()), false, false)) { event.setCancelled(true); return; } } if (wcfg.isChestProtected(event.getBlock(), player)) { player.sendMessage(ChatColor.DARK_RED + "The chest is protected."); event.setCancelled(true); return; } }