public void onHangingBreak(HangingBreakEvent event) { // If the arena isn't protected, care if (!protect) return; Location l = event.getEntity().getLocation(); if (!arena.getRegion().contains(l)) { return; } if (arena.inEditMode()) { return; } event.setCancelled(true); }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onHangingBreak(HangingBreakEvent event) { final Hanging entity = event.getEntity(); if (!entity.isValid()) return; try { final BlockFace attachedFace = entity.getAttachedFace(); Location location = entity.getLocation(); UndoList undoList = controller.getPendingUndo(location); if (undoList != null) { event.setCancelled(true); undoList.damage(entity); } else { location = location.getBlock().getRelative(attachedFace).getLocation(); undoList = controller.getPendingUndo(location); if (undoList != null) { event.setCancelled(true); undoList.damage(entity); } } } catch (Exception ex) { controller.getLogger().log(Level.WARNING, "Failed to handle HangingBreakEvent", ex); } }
@Override public MCBlockFace getFacing() { String dir = h.getFacing().name(); return MCBlockFace.valueOf(dir); }
/** * Prevents hitching * @param e - event */ @EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) public void onPlayerLeashHitch(final HangingPlaceEvent e) { if (e.getEntity() != null && e.getEntity().getType().equals(EntityType.LEASH_HITCH)) { checkIsland(e, e.getEntity().getLocation(), Flags.LEASH); } }
if(!GriefPrevention.instance.claimsEnabledForWorld(event.getEntity().getWorld())) return; String noBuildReason = GriefPrevention.instance.allowBuild(playerRemover, event.getEntity().getLocation(), Material.AIR); if(noBuildReason != null)
continue; if (entity.getLocation().getBlock().getRelative(((Hanging) entity).getAttachedFace()).equals(block)) { Hanging hanging = (Hanging) entity; if (rules.getDamageProtectedEntities().contains(caliburn.getExMob(hanging))) {
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true) public void onHangingBreak(HangingBreakEvent event) { Hanging hanging = event.getEntity(); World world = hanging.getWorld(); ConfigurationManager cfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager(); WorldConfiguration wcfg = cfg.get(BukkitAdapter.adapt(world)); return; if (wcfg.useRegions && !StateFlag.test(WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery().queryState(BukkitAdapter.adapt(hanging.getLocation()), (RegionAssociable) null, Flags.CREEPER_EXPLOSION))) { event.setCancelled(true); return; && (wcfg.blockEntityPaintingDestroy || (wcfg.useRegions && !StateFlag.test(WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery().queryState(BukkitAdapter.adapt(hanging.getLocation()), (RegionAssociable) null, Flags.ENTITY_PAINTING_DESTROY))))) { event.setCancelled(true); } else if (hanging instanceof ItemFrame && (wcfg.blockEntityItemFrameDestroy || (wcfg.useRegions && !StateFlag.test(WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery().queryState(BukkitAdapter.adapt(hanging.getLocation()), (RegionAssociable) null, Flags.ENTITY_ITEM_FRAME_DESTROY))))) { event.setCancelled(true);
@EventHandler public void onPlace(HangingPlaceEvent e) { if (ProtectionSystem.build(e.getPlayer(), e.getEntity().getLocation())) { e.setCancelled(true); } }
Hanging hanging = (Hanging)entity; try { facing = hanging.getFacing(); } catch (Exception ex) { org.bukkit.Bukkit.getLogger().log(Level.WARNING, "Error reading HangingEntity " + entity + " of type " + entity.getType(), ex);
@EventHandler public void onBreak(HangingBreakByEntityEvent e) { if (!(e.getRemover() instanceof Player)) { return; } Player p = (Player) e.getRemover(); if (ProtectionSystem.build(p, e.getEntity().getLocation())) { e.setCancelled(true); } }
/** * Prevents the breakage of hanging items * * @param e - event */ @EventHandler(priority = EventPriority.LOW) public void onBreakHanging(final HangingBreakByEntityEvent e) { if (e.getRemover() instanceof Player) { setUser(User.getInstance(e.getRemover())).checkIsland(e, e.getEntity().getLocation(), Flags.BREAK_BLOCKS); } }
/** * @param event */ @EventHandler public void onHangingBreakEvent(HangingBreakEvent event) { if (event.isCancelled()) { return; } Hanging entity = event.getEntity(); if (plugin.getSettingsManager().isBlacklistedWorld(entity.getLocation().getWorld())) { return; } if (!event.getCause().equals(HangingBreakEvent.RemoveCause.ENTITY)) { Field field = plugin.getForceFieldManager().getEnabledSourceField(entity.getLocation(), FieldFlag.PREVENT_DESTROY); if (field != null) { event.setCancelled(true); } } }
@EventHandler(ignoreCancelled = true) public void onHangingBreak(HangingBreakEvent event) { if (event instanceof HangingBreakByEntityEvent) { Entity remover = ((HangingBreakByEntityEvent) event).getRemover(); Events.fireToCancel(event, new DestroyEntityEvent(event, create(remover), event.getEntity())); if (event.isCancelled() && remover instanceof Player) { playDenyEffect((Player) remover, event.getEntity().getLocation()); } } }
Entity remover = event.getRemover(); if (plugin.getSettingsManager().isBlacklistedWorld(entity.getLocation().getWorld())) { return; Field field = plugin.getForceFieldManager().getEnabledSourceField(entity.getLocation(), FieldFlag.PREVENT_DESTROY); Field field = plugin.getForceFieldManager().getEnabledSourceField(entity.getLocation(), FieldFlag.PREVENT_DESTROY);
@EventHandler(priority = EventPriority.HIGHEST) public void onHangingBreak(HangingBreakEvent event) { Hanging hanging = event.getEntity(); if (event.getCause().equals(RemoveCause.OBSTRUCTION)) { hanging.getLocation().getBlock().breakNaturally(); event.setCancelled(true); } else if (event.getCause().equals(RemoveCause.EXPLOSION)) { event.setCancelled(true); } } }
@EventHandler(priority = EventPriority.HIGHEST) public void onHangingBreak(HangingBreakEvent event) { Hanging hanging = event.getEntity(); if (event.getCause().equals(RemoveCause.OBSTRUCTION)) { hanging.getLocation().getBlock().breakNaturally(); event.setCancelled(true); } else if (event.getCause().equals(RemoveCause.EXPLOSION)) { event.setCancelled(true); } } }
/** * @param event */ @EventHandler public void onHangingPlaceEvent(HangingPlaceEvent event) { if (event.isCancelled()) { return; } Hanging entity = event.getEntity(); Player player = event.getPlayer(); if (plugin.getSettingsManager().isBlacklistedWorld(entity.getLocation().getWorld())) { return; } if (!plugin.getPermissionsManager().has(player, "preciousstones.bypass.place")) { Field field = plugin.getForceFieldManager().getEnabledSourceField(entity.getLocation(), FieldFlag.PREVENT_PLACE); if (field != null) { if (FieldFlag.PREVENT_PLACE.applies(field, player)) { event.setCancelled(true); plugin.getCommunicationManager().warnPlaceHanging(player, entity, field); } } } }
@EventHandler (priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPaintingBreak(HangingBreakEvent event) { if (event.getCause() == RemoveCause.EXPLOSION) { Location loc = event.getEntity().getLocation(); Faction faction = Board.getInstance().getFactionAt(new FLocation(loc)); if (faction.noExplosionsInTerritory()) { // faction is peaceful and has explosions set to disabled event.setCancelled(true); return; } boolean online = faction.hasPlayersOnline(); if ((faction.isWilderness() && !Conf.worldsNoWildernessProtection.contains(loc.getWorld().getName()) && (Conf.wildernessBlockCreepers || Conf.wildernessBlockFireballs || Conf.wildernessBlockTNT)) || (faction.isNormal() && (online ? (Conf.territoryBlockCreepers || Conf.territoryBlockFireballs || Conf.territoryBlockTNT) : (Conf.territoryBlockCreepersWhenOffline || Conf.territoryBlockFireballsWhenOffline || Conf.territoryBlockTNTWhenOffline))) || (faction.isWarZone() && (Conf.warZoneBlockCreepers || Conf.warZoneBlockFireballs || Conf.warZoneBlockTNT)) || faction.isSafeZone()) { // explosion which needs prevention event.setCancelled(true); } } if (!(event instanceof HangingBreakByEntityEvent)) { return; } Entity breaker = ((HangingBreakByEntityEvent) event).getRemover(); if (!(breaker instanceof Player)) { return; } if (!FactionsBlockListener.playerCanBuildDestroyBlock((Player) breaker, event.getEntity().getLocation(), "remove paintings", false)) { event.setCancelled(true); } }
@EventHandler(ignoreCancelled = true) public void onCompanionPaint(HangingBreakByEntityEvent event) { if (event.getRemover() instanceof Player) { Player p = (Player) event.getRemover(); ResultSetAntiBuild rs = new ResultSetAntiBuild(plugin, p.getUniqueId()); if (!rs.resultSet() || !plugin.getTrackerKeeper().getAntiBuild().containsKey(rs.getTardis_id())) { return; } Vector v = event.getEntity().getLocation().toVector(); TARDISAntiBuild tab = plugin.getTrackerKeeper().getAntiBuild().get(rs.getTardis_id()); if (v.isInAABB(tab.getMin(), tab.getMax())) { event.setCancelled(true); TARDISMessage.send(p, "ANTIBUILD_TIMELORD", tab.getTimelord()); } } } }
String noBuildReason = GriefPrevention.instance.allowBuild(event.getPlayer(), event.getEntity().getLocation(), Material.PAINTING); if(noBuildReason != null) else if(GriefPrevention.instance.creativeRulesApply(event.getEntity().getLocation()))