@Override public void playMusic(Location loc, int id) { player.playEffect(BukkitUtil.getLocation(loc), Effect.RECORD_PLAY, id); }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onBigBoom(final BlockExplodeEvent event) { final Block block = event.getBlock(); final Location loc = BukkitUtil.getLocation(block.getLocation()); final String world = loc.getWorld(); if (!PS.get().isPlotWorld(world)) { return; } final Plot plot = MainUtil.getPlotAbs(loc); if ((plot != null) && plot.hasOwner()) { if (FlagManager.isPlotFlagTrue(plot, "explosion")) { final Iterator<Block> iter = event.blockList().iterator(); while (iter.hasNext()) { final Block b = iter.next(); if (!plot.equals(MainUtil.getPlotAbs(BukkitUtil.getLocation(b.getLocation())))) { iter.remove(); } } return; } } if (MainUtil.isPlotArea(loc)) { event.setCancelled(true); } else { final Iterator<Block> iter = event.blockList().iterator(); while (iter.hasNext()) { iter.next(); if (MainUtil.isPlotArea(loc)) { iter.remove(); } } } }
@Override public boolean canTeleport(Location loc) { org.bukkit.Location to = BukkitUtil.getLocation(loc); org.bukkit.Location from = this.player.getLocation(); PlayerTeleportEvent event = new PlayerTeleportEvent(this.player, from, to); RegisteredListener[] listeners = event.getHandlers().getRegisteredListeners(); for (RegisteredListener listener : listeners) { if ("PlotSquared".equals(listener.getPlugin().getName())) { continue; } try { listener.callEvent(event); } catch (EventException e) { e.printStackTrace(); } } if (event.isCancelled() || !event.getTo().equals(to)) { return false; } event = new PlayerTeleportEvent(this.player, to, from); for (RegisteredListener listener : listeners) { if ("PlotSquared".equals(listener.getPlugin().getName())) { continue; } try { listener.callEvent(event); } catch (EventException e) { e.printStackTrace(); } } return true; }
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void creatureSpawnEvent(EntitySpawnEvent event) { Entity entity = event.getEntity(); Location location = BukkitUtil.getLocation(entity.getLocation()); PlotArea area = location.getPlotArea(); if (area == null) { return; } Plot plot = area.getOwnedPlotAbs(location); if (plot == null) { return; } if (Settings.Done.RESTRICT_BUILDING && plot.hasFlag(Flags.DONE)) { event.setCancelled(true); } switch (entity.getType()) { case ENDER_CRYSTAL: if (plot == null) { if (!area.MOB_SPAWNING) { event.setCancelled(true); } return; } if (PlayerEvents.checkEntity(entity, plot)) { event.setCancelled(true); } } }
@Override public Location getLocation() { Location location = super.getLocation(); return location == null ? BukkitUtil.getLocation(this.player) : location; }
@Override public void playMusic(Location location, Object id) { this.player.playEffect(BukkitUtil.getLocation(location), Effect.RECORD_PLAY, id); }