if (!testPermission(sender)) return true; if ((args.length < 2)) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; Player player = Bukkit.getPlayerExact(args[0]); material = Bukkit.getUnsafe().getMaterialFromInternalName(args[1]); ItemStack stack = new ItemStack(material, amount, data); stack = Bukkit.getUnsafe().modifyItemStack(stack, Joiner.on(' ').join(Arrays.asList(args).subList(4, args.length))); } catch (Throwable t) { player.sendMessage("Not a valid tag"); return true; player.getInventory().addItem(stack); Command.broadcastCommandMessage(sender, "Gave " + player.getName() + " some " + material.getId() + " (" + material + ")"); } else { sender.sendMessage("There's no item called " + args[1]); sender.sendMessage("Can't find player " + args[0]);
if (!testPermission(sender)) return true; if (args.length < 1 || args.length > 4) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; player = (Player) sender; } else { sender.sendMessage("Please provide a player!"); return true; player = Bukkit.getPlayerExact(args[0]); sender.sendMessage("Player not found: " + args[0]); return true; player.teleport(target, TeleportCause.COMMAND); Command.broadcastCommandMessage(sender, "Teleported " + player.getDisplayName() + " to " + target.getDisplayName()); } else if (player.getWorld() != null) { Location playerLocation = player.getLocation(); double x = getCoordinate(sender, playerLocation.getX(), args[args.length - 3]); double y = getCoordinate(sender, playerLocation.getY(), args[args.length - 2], 0, 0); double z = getCoordinate(sender, playerLocation.getZ(), args[args.length - 1]); playerLocation.setZ(z); player.teleport(playerLocation, TeleportCause.COMMAND); Command.broadcastCommandMessage(sender, String.format("Teleported %s to %.2f, %.2f, %.2f", player.getDisplayName(), x, y, z));
@Override public boolean execute(CommandSender sender, String label, String[] args, CommandMessages commandMessages) { if (!testPermission(sender, commandMessages.getPermissionMessage())) { return true; } Collection<? extends Player> players = Bukkit.getOnlinePlayers(); Collection<String> messages = new ArrayList<>(players.size() + 1); messages.add(new LocalizedStringImpl("list.header", commandMessages.getResourceBundle()) .get(players.size(), Bukkit.getMaxPlayers())); if (args.length > 0 && (Objects.equals(args[0], "uuids" /* NON-NLS */) || Objects .equals(args[0], "ids" /* NON-NLS */))) { LocalizedStringImpl nameAndUuidMessage = new LocalizedStringImpl("list.name-and-uuid", commandMessages.getResourceBundle()); Bukkit.getOnlinePlayers().forEach(p -> messages.add( nameAndUuidMessage.get(p.getName(), UuidUtils.toString(p.getUniqueId())))); } else { Bukkit.getOnlinePlayers().forEach(p -> messages.add(p.getName())); } sender.sendMessage(messages.toArray(EMPTY)); return true; }
@Override public SessionKey getSessionKey() { return new SessionKeyImpl(this.player.getUniqueId(), player.getName()); }
@Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { if (!testPermission(sender)) return true; if (args.length < 2) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; } Player player = Bukkit.getPlayerExact(args[0]); // If a player is hidden from the sender pretend they are offline if (player == null || (sender instanceof Player && !((Player) sender).canSee(player))) { sender.sendMessage("There's no player by that name online."); } else { StringBuilder message = new StringBuilder(); for (int i = 1; i < args.length; i++) { if (i > 1) message.append(" "); message.append(args[i]); } String result = ChatColor.GRAY + sender.getName() + " whispers " + message; sender.sendMessage("[" + sender.getName() + "->" + player.getName() + "] " + message); player.sendMessage(result); } return true; } }
@Override protected ItemStack dispenseStack(GlowBlock block, ItemStack stack) { BlockFace facing = BlockDispenser.getFacing(block); Location targetLocation = block.getLocation().clone() .add(facing.getModX(), facing.getModY(), facing.getModZ()); for (Entity entity : targetLocation.getWorld().getNearbyEntities(targetLocation, 3, 3, 3)) { switch (entity.getType()) { case PLAYER: && player.getEyeLocation().getBlockZ() == targetLocation.getZ()); if ((targetLocationTest1 || targetLocationTest2)) { return ((GlowInventory) ((Player) player).getInventory()) .tryToFillSlots(stack, 36, 40);
player = (Player) sender; } else { sender.sendMessage("Please provide a player!"); return true; player = Bukkit.getPlayerExact(args[0]); if (player == null) { sender.sendMessage("Can't find player " + args[0]); return true; World world = player.getWorld(); try { x = getInteger(sender, args[pos++], MIN_COORD, MAX_COORD, true); y = getInteger(sender, args[pos++], 0, world.getMaxHeight()); z = getInteger(sender, args[pos], MIN_COORD, MAX_COORD, true); } catch(NumberFormatException ex) { sender.sendMessage(ex.getMessage()); return true; player.setBedSpawnLocation(new Location(world, x, y, z), true); Command.broadcastCommandMessage(sender, "Set " + player.getDisplayName() + "'s spawnpoint to " + x + ", " + y + ", " + z); Location location = player.getLocation(); player.setBedSpawnLocation(location, true); Command.broadcastCommandMessage(sender, "Set " + player.getDisplayName() + "'s spawnpoint to " + location.getX() + ", " + location.getY() + ", " + location.getZ()); } else { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage);
if (sender instanceof Player) { player = (Player) sender; world = player.getWorld(); } else { world = Bukkit.getWorlds().get(0); sender.sendMessage("You can only perform this command as a player"); return true; Location location = player.getLocation(); sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; world.setSpawnLocation(x, y, z); Command.broadcastCommandMessage(sender, "Set world " + world.getName() + "'s spawnpoint to (" + x + ", " + y + ", " + z + ")"); return true;
targets = ImmutableList.of((Player) sender); } else { sender.sendMessage(ChatColor.RED + "You must specify which player you wish to perform this action on."); return false; : ((BlockCommandSender) sender).getBlock().getLocation(); final Entity[] entities = new CommandTarget(sender, args[0]).getMatched(location); targets = new ArrayList<>(); final Player player = Bukkit.getPlayerExact(playerPattern); .sendMessage( ChatColor.RED + "Player '" + playerPattern + "' cannot be found"); return false; currentLocation = new Location(world, 0, 0, 0); + world.getMaxHeight() + "'."); return false; if (CommandUtils.isPhysical(sender)) { spawnLocation = sender instanceof Entity ? ((Entity) sender).getLocation() : ((BlockCommandSender) sender).getBlock().getLocation(); target.setBedSpawnLocation(spawnLocation, true); sender.sendMessage("Set " + target.getName() + "'s spawn point to "
@EventHandler(ignoreCancelled = true) public void onPlayerBucketFill(PlayerBucketFillEvent event) { Player player = event.getPlayer(); Block blockAffected = event.getBlockClicked().getRelative(event.getBlockFace()); boolean allowed = false; // Milk buckets can't be emptied as of writing if (event.getItemStack().getType() == Material.MILK_BUCKET) { allowed = true; } ItemStack item = new ItemStack(event.getBucket(), 1); Events.fireToCancel(event, new BreakBlockEvent(event, create(player), blockAffected).setAllowed(allowed)); Events.fireToCancel(event, new UseItemEvent(event, create(player), player.getWorld(), item).setAllowed(allowed)); if (event.isCancelled()) { playDenyEffect(event.getPlayer(), blockAffected.getLocation().add(0.5, 0.5, 0.5)); } }
@EventHandler(priority=EventPriority.MONITOR, ignoreCancelled=true) public void onPlayerMove(PlayerMoveEvent event) { Location loc = event.getPlayer().getLocation(); mapManager.touch(getWorld(loc.getWorld()).getName(), loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), "playermove"); } };
/** * @param event */ @EventHandler public void onPlayerKick(PlayerKickEvent event) { if (plugin.getSettingsManager().isBlacklistedWorld(event.getPlayer().getLocation().getWorld().getName())) { return; } plugin.getClanManager().updateLastSeen(event.getPlayer()); } }
@SuppressWarnings("deprecation") @EventHandler public void onPlayerMove(PlayerMoveEvent event) { Block block, control; if (event.getTo().getY() > event.getFrom().getY()) { block = event.getPlayer().getWorld().getBlockAt(new Location(event.getPlayer().getWorld(), event.getTo().getX(), event.getTo().getY() + 2, event.getTo().getZ())); control = event.getPlayer().getWorld().getBlockAt(new Location(event.getPlayer().getWorld(), event.getTo().getX(), event.getTo().getY() - 2, event.getTo().getZ())); if (!(block.getTypeId() != 0 || control.getTypeId() == 0)) { EvtJump custom = new EvtJump(event.getPlayer()); Bukkit.getServer().getPluginManager().callEvent(custom); if (custom.isCancelled()) { event.setCancelled(true); } } } }
@EventHandler public void onPlayerJoin(PlayerJoinEvent event) { com.greatmancode.tools.events.playerEvent.PlayerJoinEvent pEvent = new com.greatmancode.tools.events.playerEvent.PlayerJoinEvent(new Player(event.getPlayer().getName(), event.getPlayer().getDisplayName(), event.getPlayer().getWorld().getName(), event.getPlayer().getUniqueId())); EventManager.getInstance().callEvent(pEvent); } }
count = 1; } else { count = source.getWorld().getEntities().size(); for (Entity entity : source.getWorld().getEntities()) { if (entity.getLocation().distanceSquared(source) < minRadius) { continue; continue; if (gameModes != null && gameModes.contains(((Player) entity).getGameMode())) { continue; continue; if (maxLevel != null && ((Player) entity).getLevel() > maxLevel) { continue; continue; if (minLevel != null && ((Player) entity).getLevel() < minLevel) { continue;
@EventHandler(priority = EventPriority.HIGH) public void onPlayerLogin(PlayerLoginEvent event) { final Player player = event.getPlayer(); // Validate position if (Math.abs(player.getLocation().getX()) >= MAX_XZ_COORD || Math.abs(player.getLocation().getZ()) >= MAX_XZ_COORD) { player.teleport(player.getWorld().getSpawnLocation()); // Illegal position, teleport to spawn } }
@Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { if (!testPermission(sender)) return true; World world = null; if (args.length == 1) { world = Bukkit.getWorld(args[0]); if (world == null) { sender.sendMessage(ChatColor.RED + "No world exists with the name '" + args[0] + "'"); return true; } } else if (sender instanceof Player) { world = ((Player) sender).getWorld(); } else { world = Bukkit.getWorlds().get(0); } Command.broadcastCommandMessage(sender, "Toggling downfall " + (world.hasStorm() ? "off" : "on") + " for world '" + world.getName() + "'"); world.setStorm(!world.hasStorm()); return true; }
public static void setBreaking(Block block, int breakAmount, int range) { String worldName = block.getWorld().getName(); Location location = block.getLocation(); int rangeSquared = range * range; for (Player player : Bukkit.getOnlinePlayers()) { if (!player.getWorld().getName().equals(worldName) || player.getLocation().distanceSquared(location) > rangeSquared) { continue; } sendBreaking(player, getBlockEntityId(block), location, breakAmount); } }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) public void onPlayerDeathEvent(PlayerDeathEvent e) { if (plugin.getIWM().inWorld(e.getEntity().getLocation()) && plugin.getIWM().getWorldSettings(e.getEntity().getLocation().getWorld()).isDeathsCounted()) { plugin.getPlayers().addDeath(e.getEntity().getWorld(), e.getEntity().getUniqueId()); } } }