Java 类org.bukkit.event.hanging.HangingBreakByEntityEvent 实例源码

项目:Scorch    文件:RegionMapListener.java   
public void onFrameBreak(HangingBreakByEntityEvent e) {
    if (e.getRemover() instanceof Player) {
        return;
    }
    Player p = (Player) e.getRemover();

    Map cpl = RegionMapGen.getPlayerLocations();
    cpl.put(p.getUniqueId(), RegionMapGen.getMap()[(int)p.getLocation().getX()][(int)p.getLocation().getZ()]);
    RegionMapGen.setPlayerLocations(cpl);

    if (cpl.get(p.getUniqueId()).equals("lava")) {
        Broadcast.toPlayer(p.getPlayer(), Broadcast.BroadcastType.FAILURE, "You cannot break item frames in Warvale's territory.");
        e.setCancelled(true);
    } else if (cpl.get(p.getUniqueId()).equals(Main.get().getConfig().getString("Player-Data."+p.getUniqueId()+"Guild-Name"))) {
        e.setCancelled(false);
    } else {
        Broadcast.toPlayer(p, Broadcast.BroadcastType.FAILURE, "You cannot break item frames in "+cpl.get(p.getUniqueId())+"'s territory.");
        e.setCancelled(true);
    }
}
项目:bskyblock    文件:IslandGuard.java   
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onItemFrameDamage(final HangingBreakByEntityEvent e) {
    if (DEBUG) {
        plugin.getLogger().info("DEBUG: Hanging break by entity event");
        plugin.getLogger().info("DEBUG: cause = " + e.getCause());
        plugin.getLogger().info("DEBUG: entity = " + e.getEntity());
        plugin.getLogger().info("DEBUG: remover = " + e.getRemover());
    }
    // Check world
    if (!Util.inWorld(e.getEntity()) || !(e.getEntity() instanceof ItemFrame)) {
        return;
    }
    if (e.getRemover() instanceof Skeleton || e.getRemover() instanceof Golem) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Remover is mob");
        if (!Settings.allowMobDamageToItemFrames) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG: Damage not allowed, cancelling");
            e.setCancelled(true);
        }
    }
}
项目:RedProtect    文件:RPGlobalListener.java   
@EventHandler
  public void onHangingDamaged(HangingBreakByEntityEvent e) {
    if (e.isCancelled()) {
          return;
      }

      Entity ent = e.getRemover();
      Location loc = e.getEntity().getLocation();
      Region r = RedProtect.get().rm.getTopRegion(loc);
      if (r != null){
    return;
}

      if (ent instanceof Player) { 
        Player p = (Player)ent;
          if (!bypassBuild(p, null, 0)) {
              e.setCancelled(true);
          }
      }
  }
项目:RedProtect    文件:RPBlockListener.java   
@EventHandler
 public void onFrameBrake(HangingBreakByEntityEvent e) {
    RedProtect.get().logger.debug("Is BlockListener - HangingBreakByEntityEvent event");
    if (e.isCancelled()){
        return;
    }

    Entity remover = e.getRemover();
    Entity ent = e.getEntity();
    Location l = e.getEntity().getLocation();

    if ((ent instanceof ItemFrame || ent instanceof Painting) && remover instanceof Monster) {
        Region r = RedProtect.get().rm.getTopRegion(l);
        if (r != null && !r.canMobLoot()){
            e.setCancelled(true);
}
     }    
 }
项目:RedProtect    文件:RPPlayerListener.java   
@EventHandler
public void onHangingDamaged(HangingBreakByEntityEvent e) {
    if (e.isCancelled()) {
        return;
    }
    RedProtect.get().logger.debug("Is RPPlayerListener - HangingBreakByEntityEvent event");
    Entity ent = e.getRemover();
    Location loc = e.getEntity().getLocation();
    Region r = RedProtect.get().rm.getTopRegion(loc);

    if (ent instanceof Player) {
        Player player = (Player)ent; 
        if (r != null && !r.canBuild(player) && !r.canBreak(e.getEntity().getType())) {
            RPLang.sendMessage(player, "blocklistener.region.cantbuild");
            e.setCancelled(true);
        }
    } 
    if (ent instanceof Monster){
        if (r != null && !r.canMobLoot()) {
            e.setCancelled(true);
        }
    }
}
项目:Minecraft-UAPI    文件:UItemListener.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void onHangingBreakByEntityEvent(HangingBreakByEntityEvent event) {
    User user = API.to(event.getRemover());
    if (user == null) return;
    ItemStack item = user.getItemInHand();
    UItem object = UItemManager.getInstance().getItem(item);
    if (object == null) return;

    UItemEvent result = 
            object.call(new UItemEventClick(user, object, item, true),
            object.call(new UItemEventClickEntity(user, object, item, true, event.getEntity()))
            );
    if (result.isCancelled()) {
        user.setItemInHand(result.getItem());
        event.setCancelled(true);
    }
}
项目:Peacecraft    文件:ProtectListener.java   
@EventHandler
public void onHangingBreak(HangingBreakEvent event) {
    EntityProtection entityProtection = this.module.getProtectManager().getEntityProtection(event.getEntity().getType(), event.getEntity().getUniqueId());
    if(entityProtection.exists()) {
        if(event instanceof HangingBreakByEntityEvent) {
            HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
            if(entityEvent.getRemover() instanceof Player) {
                Player player = (Player) entityEvent.getRemover();

                if(entityProtection.getOwner().equals(player.getUniqueId()) || player.hasPermission(ProtectPermissions.MODIFY_ALL)) {
                    entityProtection.remove();
                    sendMessage(player, "protect.entity-unprotected");
                    return;
                }

                sendMessage(player, "protect.entity-protected-by", getDisplayName(this.module.getManager().getUsername(entityProtection.getOwner()), event.getEntity().getWorld().getName()));
            }
        }

        event.setCancelled(true);
    }
}
项目:NovaGuilds    文件:RegionInteractListener.java   
/**
 * Handles breaking paintings, item frames, leashes
 *
 * @param event The event
 */
@EventHandler
public void onHangingEntityBreak(HangingBreakByEntityEvent event) {
    if(!(event.getRemover() instanceof Player)) {
        return;
    }

    Player player = (Player) event.getRemover();
    NovaPlayer nPlayer = PlayerManager.getPlayer(player);
    boolean isLeash = event.getEntity() instanceof LeashHitch;

    if(RegionManager.get(event.getEntity()) != null
            && (!plugin.getRegionManager().canInteract(player, event.getEntity()) || (!nPlayer.getPreferences().getBypass() && !nPlayer.hasPermission(isLeash ? GuildPermission.MOB_LEASH : GuildPermission.BLOCK_BREAK)))) {
        event.setCancelled(true);
        (isLeash ? Message.CHAT_REGION_DENY_UNLEASH : Message.CHAT_REGION_DENY_INTERACT).send(player);
    }
}
项目:acidisland    文件:IslandGuard.java   
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onItemFrameDamage(final HangingBreakByEntityEvent e) {
    if (DEBUG) {
        plugin.getLogger().info("DEBUG: Hanging break by entity event");
        plugin.getLogger().info("DEBUG: cause = " + e.getCause());
        plugin.getLogger().info("DEBUG: entity = " + e.getEntity());
        plugin.getLogger().info("DEBUG: remover = " + e.getRemover());
    }
    // Check world
    if (!inWorld(e.getEntity()) || !(e.getEntity() instanceof ItemFrame)) {
        return;
    }
    if (e.getRemover() instanceof Skeleton || e.getRemover() instanceof Golem) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Remover is mob");
        if (!Settings.allowMobDamageToItemFrames) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG: Damage not allowed, cancelling");
            e.setCancelled(true);
        }
    }
}
项目:Factoid    文件:PlayerListener.java   
/**
 * On hanging break by entity.
 * 
 * @param event
 *            the event
 */
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {

    Player player;

    if (event.getRemover() instanceof Player
            && !playerConf.get((player = (Player) event.getRemover()))
                    .isAdminMod()) {

        IDummyLand land = Factoid.getThisPlugin().iLands().getLandOrOutsideArea(
                event.getEntity().getLocation());

        if ((land instanceof ILand && ((ILand) land).isBanned(player))
                || !checkPermission(land, player,
                        PermissionList.BUILD.getPermissionType())
                || !checkPermission(land, player,
                        PermissionList.BUILD_DESTROY.getPermissionType())) {
            messagePermission(player);
            event.setCancelled(true);
        }
    }
}
项目:askyblock    文件:IslandGuard.java   
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onItemFrameDamage(final HangingBreakByEntityEvent e) {
    if (DEBUG) {
        plugin.getLogger().info("DEBUG: Hanging break by entity event");
        plugin.getLogger().info("DEBUG: cause = " + e.getCause());
        plugin.getLogger().info("DEBUG: entity = " + e.getEntity());
        plugin.getLogger().info("DEBUG: remover = " + e.getRemover());
    }
    // Check world
    if (!inWorld(e.getEntity()) || !(e.getEntity() instanceof ItemFrame)) {
        return;
    }
    if (e.getRemover() instanceof Skeleton || e.getRemover() instanceof Golem) {
        if (DEBUG)
            plugin.getLogger().info("DEBUG: Remover is mob");
        if (!Settings.allowMobDamageToItemFrames) {
            if (DEBUG)
                plugin.getLogger().info("DEBUG: Damage not allowed, cancelling");
            e.setCancelled(true);
        }
    }
}
项目:Necessities    文件:Listeners.java   
@EventHandler
public void onHangingBreak(HangingBreakByEntityEvent e) {
    if (e.getRemover() != null && e.getRemover() instanceof Player) {
        Player p = (Player) e.getRemover();
        User u = Necessities.getUM().getUser(p.getUniqueId());
        YamlConfiguration config = Necessities.getInstance().getConfig();
        if (config.contains("Necessities.Guilds") && config.getBoolean("Necessities.Guilds") && !p.hasPermission("Necessities.guilds.admin")) {
            Guild owner = Necessities.getGM().chunkOwner(e.getEntity().getLocation().getChunk());
            if (owner != null && u.getGuild() != owner) {
                Variables var = Necessities.getVar();
                u.getPlayer().sendMessage(var.getEr() + "Error: " + var.getErMsg() + "You are not a part of that guild, and are not allowed to build there.");
                e.setCancelled(true);
            }
        }
    }
}
项目:NPlugins    文件:BuildFlagListener.java   
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onHangingBreakByEntity(final ExtendedHangingBreakEvent ext) {
    if (ext.getBaseEvent() instanceof HangingBreakByEntityEvent) {
        final HangingBreakByEntityEvent event = (HangingBreakByEntityEvent)ext.getBaseEvent();
        if (event.getRemover().getType() == EntityType.PLAYER) {
            final Player player = (Player)event.getRemover();
            if (ext.getRegion() != null && ext.getRegion().getFlag(Flag.BUILD) && !ext.getRegion().isUser(player)) {
                event.setCancelled(true);
            }
        } else {
            if (ext.getRegion() != null && (ext.getRegion().getFlag(Flag.BUILD) || ext.getRegion().getFlag(Flag.MOB))) {
                event.setCancelled(true);
            }
        }
    }
}
项目:SimpleTowns    文件:STListener.java   
/**
 * Checks the player is allowed to break the hanging entity.
 *
 * @param event     event being handled
 */
@EventHandler (priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBreakEvent(HangingBreakByEntityEvent event) {
    if (!(event.getRemover() instanceof Player)) {
        return;
    }

    final Player player = (Player) event.getRemover();
    final Block block = event.getEntity().getLocation().getBlock();
    if (!canBuild(player, block)) {
        final Town town = plugin.getTown(block.getChunk());
        if (town == null) {
            player.sendMessage(plugin.getLocalisation().get(LocalisationEntry.MSG_CANNOT_BUILD_HERE));
        } else {
            player.sendMessage(plugin.getLocalisation().get(LocalisationEntry.MSG_ONLY_TOWN_MEMBERS_CAN_BREAK_BLOCKS, town.getName()));
        }
        event.setCancelled(true);
    }
}
项目:Essentials    文件:EssentialsProtectEntityListener.java   
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPaintingBreak(final HangingBreakByEntityEvent event)
{
    final ProtectHolder settings = prot.getSettings();
    Entity remover = event.getRemover();
    if ((event.getCause() == HangingBreakEvent.RemoveCause.ENTITY)
        && ((remover instanceof Creeper) && getSettings().isCreeperBlockdamage())
        || ((remover instanceof Wither) && getSettings().isWitherSpawnBlockdamage())
        || ((remover instanceof Fireball) && getSettings().isFireballBlockdamage())
        || ((remover instanceof TNTPrimed) && getSettings().isTntBlockdamage())
        || ((remover instanceof WitherSkull) && getSettings().isWitherskullBlockdamage())
        || ((remover instanceof ExplosiveMinecart) && getSettings().isTntMinecartBlockdamage()))
    {
        event.setCancelled(true);
    }
}
项目:Warzone    文件:SpectatorModule.java   
@EventHandler
public void onHangingDestroy(HangingBreakByEntityEvent event) { // Item Frames and Paintings
    if (event.getRemover() != null && event.getRemover() instanceof Player) {
        if (isSpectating((Player) event.getRemover())) {
            event.setCancelled(true);
        }
    }
}
项目:ZentrelaRPG    文件:EnvironmentManager.java   
@EventHandler
public void onHangingBreak(HangingBreakByEntityEvent event) {
    if (!(event.getRemover() instanceof Player))
        event.setCancelled(true);
    PlayerDataRPG pd = plugin.getPD((Player) event.getRemover());
    if (pd == null)
        event.setCancelled(true);
    if (((Player) event.getRemover()).getGameMode() != GameMode.CREATIVE)
        event.setCancelled(true);
    if (!canBuild(pd))
        event.setCancelled(true);
}
项目:mczone    文件:GeneralEvents.java   
@EventHandler
public void onDestroyByEntity(HangingBreakByEntityEvent event) {
    if ((event.getRemover() instanceof Player)) {
        if (event.getEntity().getType() == EntityType.ITEM_FRAME) {
            event.setCancelled(true);
        }
    }
}
项目:mczone    文件:GeneralEvents.java   
@EventHandler
public void onDestroyByEntity(HangingBreakByEntityEvent event) {
    if ((event.getRemover() instanceof Player)) {
        if (event.getEntity().getType() == EntityType.ITEM_FRAME) {
            event.setCancelled(true);
        }
    }
}
项目:SurvivalAPI    文件:SpectatorListener.java   
/**
 * Disable pre-breaking blocks
 *
 * @param event Event
 */
@EventHandler
public void onHangingBreakByEntity(HangingBreakByEntityEvent event)
{
    if (event.getEntity() instanceof Player)
        event.setCancelled(this.hasToCancel((Player) event.getEntity()));
}
项目:UltimateSpawn    文件:BasicFeatures.java   
@EventHandler
public void onHanging(HangingBreakByEntityEvent e) {
    if (ConfigGProtection.getConfig().getBoolean("Protection.HagingBreakByEntity.Enable")) {
        if (!ConfigGProtection.getConfig().getBoolean("Protection.HagingBreakByEntity.World.All_World")) {
            if (WorldUtils.getWHBBE().contains(e.getEntity().getWorld().getName())) {
                e.setCancelled(true);
            }
        } else {
            e.setCancelled(true);
        }
    }
}
项目:HCFCore    文件:CoreListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onHangingBreakByEntity(final HangingBreakByEntityEvent event) {
    final Entity remover = event.getRemover();
    if (remover instanceof Player && !attemptBuild(remover, event.getEntity().getLocation(), ChatColor.GRAY + "You may not build in the territory of %1$s" + ChatColor.GRAY + '.')) {
        event.setCancelled(true);
    }
}
项目:HCFCore    文件:ProtectionListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
    Entity remover = event.getRemover();
    if (remover instanceof Player) {
        if (!attemptBuild(remover, event.getEntity().getLocation(), ChatColor.YELLOW + "You may not build in the territory of %1$s" + ChatColor.YELLOW + '.')) {
            event.setCancelled(true);
        }
    }
}
项目:HCFCore    文件:CoreListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onHangingBreakByEntity(final HangingBreakByEntityEvent event) {
    final Entity remover = event.getRemover();
    if (remover instanceof Player && !attemptBuild(remover, event.getEntity().getLocation(), ChatColor.GRAY + "You may not build in the territory of %1$s" + ChatColor.GRAY + '.')) {
        event.setCancelled(true);
    }
}
项目:HCFCore    文件:ProtectionListener.java   
@EventHandler(ignoreCancelled = true, priority = EventPriority.HIGH)
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
    Entity remover = event.getRemover();
    if (remover instanceof Player) {
        if (!attemptBuild(remover, event.getEntity().getLocation(), ChatColor.YELLOW + "You may not build in the territory of %1$s" + ChatColor.YELLOW + '.')) {
            event.setCancelled(true);
        }
    }
}
项目:GamePlate    文件:ObserverModule.java   
@EventHandler
public void onHangingBreak(HangingBreakByEntityEvent event) {
    if (event.getRemover() instanceof Player) {
        if (isObserver((Player) event.getRemover())) {
            event.setCancelled(true);
        }
    }
}
项目:AthenaGM    文件:BlockBreakListener.java   
/**
 * Prevent players from destroying item frames in protected regions
 */
@EventHandler
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
    CuboidRegion region = regionHandler.getApplicableRegion(event.getEntity().getLocation());
    if (!event.isCancelled() && region != null && !region.allows("destroy")) {
        event.setCancelled(true);
        if (event.getRemover() instanceof Player) {
            warnPlayer((Player) event.getRemover());
        }
    }
}
项目:Cardinal    文件:InteractModule.java   
/**
 * Prevents a player that can't interact from breaking a hanging entity.
 *
 * @param event The event.
 */
@EventHandler(ignoreCancelled = true)
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {
  if (event.getEntity() instanceof Player && !canInteract((Player) event.getEntity())) {
    event.setCancelled(true);
  }
}
项目:Skellett    文件:ExprHangingCause.java   
public boolean init(Expression<?>[] args, int arg1, Kleenean arg2, SkriptParser.ParseResult arg3) {
    if (!ScriptLoader.isCurrentEvent(HangingBreakEvent.class) && ScriptLoader.isCurrentEvent(HangingBreakByEntityEvent.class)) {
        Skript.error("You can not use HangingCause expression in any event but on unhang!");
        return false;
    }
    return true;
}
项目:Skellett    文件:ExprHangingRemover.java   
public boolean init(Expression<?>[] args, int arg1, Kleenean arg2, SkriptParser.ParseResult arg3) {
    if (!ScriptLoader.isCurrentEvent(HangingBreakByEntityEvent.class) && !ScriptLoader.isCurrentEvent(HangingBreakEvent.class)) {
        Skript.error("You can not use HangingCause expression in any event but on unhang remove!");
        return false;
    }
    return true;
}
项目:Cardinal-Plus    文件:BlockBreakRegion.java   
@EventHandler
public void onHangingBreak(HangingBreakEvent event) {
    if (event instanceof HangingBreakByEntityEvent) {
        if (region.contains(event.getEntity().getLocation().toVector()) && filter.evaluate(event.getEntity(), ((HangingBreakByEntityEvent) event).getRemover(), event).equals(FilterState.DENY)) {
            event.setCancelled(true);
        }
    } else {
        if (region.contains(event.getEntity().getLocation().toVector()) && filter.evaluate(event.getEntity(), event).equals(FilterState.DENY)) {
            event.setCancelled(true);
        }
    }
}
项目:Cardinal-Plus    文件:BlockEventRegion.java   
@EventHandler
public void onHangingBreak(HangingBreakEvent event) {
    if (event instanceof HangingBreakByEntityEvent) {
        if (region.contains(event.getEntity().getLocation().toVector()) && filter.evaluate(event.getEntity(), ((HangingBreakByEntityEvent) event).getRemover(), event).equals(FilterState.DENY)) {
            event.setCancelled(true);
        }
    } else {
        if (region.contains(event.getEntity().getLocation().toVector()) && filter.evaluate(event.getEntity(), event).equals(FilterState.DENY)) {
            event.setCancelled(true);
        }
    }
}
项目:MyiuLib    文件:MGListener.java   
@EventHandler(priority = EventPriority.HIGHEST)
public void onHangingBreak(HangingBreakByEntityEvent e) {
    if (e.getRemover() instanceof Player ||
            (e.getRemover() instanceof Projectile &&
                    ((Projectile)e.getRemover()).getShooter() instanceof Player)) {
        for (Minigame mg : Minigame.getMinigameInstances()) {
            if (!mg.getConfigManager().isHangingBreakAllowed() && mg.isPlayer(e.getRemover() instanceof Player ?
                                                                              ((Player)e.getRemover()).getName() :
                                                                              ((Player)((Projectile)e.getRemover()).getShooter()).getName())) {
                e.setCancelled(true);
            }
        }
    }
}
项目:PlotSquared-Chinese    文件:PlayerEvents.java   
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onHangingBreakByEntity(final HangingBreakByEntityEvent e) {
    final Entity r = e.getRemover();
    if (r instanceof Player) {
        final Player p = (Player) r;
        final Location l = BukkitUtil.getLocation(e.getEntity());
        final PlotPlayer pp = BukkitUtil.getPlayer(p);
        if (PlotSquared.isPlotWorld(l.getWorld())) {
            Plot plot = MainUtil.getPlot(l);
            if (plot == null) {
                if (MainUtil.isPlotAreaAbs(l)) {
                    if (!Permissions.hasPermission(pp, "plots.admin.destroy.road")) {
                        MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.destroy.road");
                        e.setCancelled(true);
                        return;
                    }
                }
            } else {
                if (!plot.hasOwner()) {
                    if (!Permissions.hasPermission(pp, "plots.admin.destroy.unowned")) {
                        MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.destroy.unowned");
                        e.setCancelled(true);
                        return;
                    }
                } else if (!plot.isAdded(pp.getUUID())) {
                    if (FlagManager.isPlotFlagTrue(plot, "hanging-break")) {
                        return;
                    }
                    if (!Permissions.hasPermission(pp, "plots.admin.destroy.other")) {
                        if (MainUtil.isPlotArea(l)) {
                            MainUtil.sendMessage(pp, C.NO_PERMISSION, "plots.admin.destroy.other");
                            e.setCancelled(true);
                            return;
                        }
                    }
                }
            }
        }
    }
}
项目:Peacecraft    文件:LotsListener.java   
@EventHandler
public void onHangingBreak(HangingBreakEvent event) {
    if(event instanceof HangingBreakByEntityEvent) {
        Entity attacker = ((HangingBreakByEntityEvent) event).getRemover();
        if(attacker instanceof Player) {
            Player player = (Player) attacker;
            Lot lot = this.module.getLotManager().getLot(event.getEntity().getLocation());
            Town town = this.module.getLotManager().getTown(event.getEntity().getLocation());
            if(((lot != null && !lot.canBuild(player)) || (lot == null && town != null)) && !player.hasPermission(LotPermissions.BUILD_ANYWHERE)) {
                event.setCancelled(true);
            }
        }
    }
}
项目:COD-Warfare    文件:Listeners.java   
@EventHandler
public void itemFrame(HangingBreakByEntityEvent e) {
    if (e.getRemover() instanceof Player) {
        Player p = (Player) e.getRemover();
        if (Main.WaitingPlayers.contains(p) || Main.PlayingPlayers.contains(p)) {
            e.setCancelled(true);
        }
    }
}
项目:MiniMiniGames    文件:WorldListener.java   
@EventHandler
public void onHangingBreak(HangingBreakEvent event) {
   if (event.getCause() == RemoveCause.ENTITY) {
      HangingBreakByEntityEvent entityEvent = (HangingBreakByEntityEvent) event;
      if (entityEvent.getRemover() instanceof Player) {
         Player remover = (Player) entityEvent.getRemover();
         if (remover.isOp() && remover.getGameMode() == GameMode.CREATIVE) {
            return;
         }
      }
   }
   event.setCancelled(true);
}
项目:PlotMe-Core    文件:BukkitPlotListener.java   
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
public void onHangingBreakByEntity(HangingBreakByEntityEvent event) {

    if (event.getRemover() instanceof Player) {
        BukkitPlayer player = (BukkitPlayer) plugin.wrapPlayer((Player) event.getRemover());

        if (manager.isPlotWorld(player)) {
            if (player.hasPermission(PermissionNames.ADMIN_BUILDANYWHERE)) {
                return;
            }

            Plot plot = manager.getPlot(player);

            if (plot == null) {
                player.sendMessage(api.C("CannotBuild"));
                event.setCancelled(true);
            } else {
                if (plot.getOwnerId().equals(player.getUniqueId())) {
                    return;
                }
                Optional<Plot.AccessLevel> member = plot.isMember(player.getUniqueId());
                if (member.isPresent()) {
                    if (member.get().equals(Plot.AccessLevel.TRUSTED) && !api.getServerBridge().getOfflinePlayer(plot.getOwnerId()).isOnline()) {
                        player.sendMessage(api.C("CannotBuild"));
                        event.setCancelled(true);
                    } else if (api.isPlotLocked(plot.getId())) {
                        player.sendMessage(api.C("PlotLocked"));
                        event.setCancelled(true);
                    }
                } else {
                    player.sendMessage(api.C("CannotBuild"));
                    event.setCancelled(true);
                }
            }
        }
    }
}
项目:AntiBuild    文件:HangingBreak.java   
/**
     * Checks if a player has permission to break paintings or item frames.
     *
     * @param event that triggers listener.
     */
    @EventHandler(priority = EventPriority.LOW)
    public void NoHangingBreak(HangingBreakByEntityEvent event) {

        Entity entity = event.getRemover();
        Player player = null;

        if (event.getRemover().getType() == EntityType.PLAYER) {
            player = (Player) entity;
        }
        if (player != null) {

            if (!player.hasPermission("antibuild.bypass")) {
                if (!player.hasPermission("antibuild.painting")) {
                    event.setCancelled(true);
                    PlayerMessenger.messageHandler(plugin.getConfigHandler().getNoInteractMessage(), player);
                }
            }
//
//            // World lock check
//            if (!event.isCancelled() && plugin.isUsingLock()) {
//                if (plugin.isLockedWorld(player.getWorld().getName())
//                        && !player.hasPermission("antibuild.lock.bypass") && !player.hasPermission("antibuild.lock" +
//                        ".bypass." + player.getWorld().getName())) {
//                    event.setCancelled(true);
//                    messageHandler(plugin.getLockedWorldMessage(), player);
//                }
//            }
        }
    }
项目:TheSurvivalGames    文件:BlockListener.java   
@EventHandler(priority = EventPriority.HIGH)
public void onHangingBreak(HangingBreakByEntityEvent event) {
    if (event.getEntity() instanceof Player) {
        if (SGApi.getArenaManager().isInGame((Player) event.getEntity())) {
            event.setCancelled(true);
        }
    }
}