/** * Gets the region selection for the player. * * @param player * @return the selection or null if there was none */ public Selection getSelection(Player player) { if (player == null) { throw new IllegalArgumentException("Null player not allowed"); } if (!player.isOnline()) { throw new IllegalArgumentException("Offline player not allowed"); } LocalSession session = controller.getSession(wrapPlayer(player)); RegionSelector selector = session.getRegionSelector(BukkitUtil.getLocalWorld(player.getWorld())); try { Region region = selector.getRegion(); World world = ((BukkitWorld) session.getSelectionWorld()).getWorld(); if (region instanceof CuboidRegion) { return new CuboidSelection(world, selector, (CuboidRegion) region); } else if (region instanceof Polygonal2DRegion) { return new Polygonal2DSelection(world, selector, (Polygonal2DRegion) region); } else { return null; } } catch (IncompleteRegionException e) { return null; } }
@Override public void handleKick(UUID uuid, C c) { Player player = Bukkit.getPlayer(uuid); if (player != null && player.isOnline()) { MainUtil.sendMessage(BukkitUtil.getPlayer(player), c); player.teleport(player.getWorld().getSpawnLocation()); } }
/** * Returns the plot a player is currently in. * * @param player * @return boolean */ public static Plot getCurrentPlot(final Player player) { if (!PS.get().isPlotWorld(player.getWorld().getName())) { return null; } final PlotId id = MainUtil.getPlotId(BukkitUtil.getLocation(player)); final String world = player.getWorld().getName(); if (id == null) { return null; } if (PS.get().getPlots(world).containsKey(id)) { return PS.get().getPlots(world).get(id); } return new Plot(id, null, new ArrayList<UUID>(), new ArrayList<UUID>(), world); }
/** * Sets the region selection for a player. * * @param player * @param selection */ public void setSelection(Player player, Selection selection) { if (player == null) { throw new IllegalArgumentException("Null player not allowed"); } if (!player.isOnline()) { throw new IllegalArgumentException("Offline player not allowed"); } if (selection == null) { throw new IllegalArgumentException("Null selection not allowed"); } LocalSession session = controller.getSession(wrapPlayer(player)); RegionSelector sel = selection.getRegionSelector(); session.setRegionSelector(BukkitUtil.getLocalWorld(player.getWorld()), sel); session.dispatchCUISelection(wrapPlayer(player)); }
@Override public void unregister(PlotPlayer player) { BukkitUtil.removePlayer(player.getName()); }