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 target = Bukkit.getPlayerExact(args[args.length - 1]); if (target == null) { sender.sendMessage("Can't find player " + args[args.length - 1] + ". No tp."); return true; sender.sendMessage("Please provide a valid location!"); return true; 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 currentAlias, String[] args) { if (args.length < 2) { sender.sendMessage(ChatColor.RED + "Incorrect usage. Correct usage:\n" + usageMessage); return false; if (!sender.hasPermission("bukkit.command.time.set")) { sender.sendMessage(ChatColor.RED + "You don't have permission to set the time"); return true; for (World world : Bukkit.getWorlds()) { world.setTime(value); Command.broadcastCommandMessage(sender, "Set time to " + value); } else if (args[0].equals("add")) { if (!sender.hasPermission("bukkit.command.time.add")) { sender.sendMessage(ChatColor.RED + "You don't have permission to set the time"); return true; for (World world : Bukkit.getWorlds()) { world.setFullTime(world.getFullTime() + value); Command.broadcastCommandMessage(sender, "Added " + value + " to time"); } else { sender.sendMessage("Unknown method. Usage: " + usageMessage);
@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; } }
private boolean badPerm(CommandSender sender, String perm) { if (!sender.hasPermission("bukkit.command.whitelist." + perm)) { sender.sendMessage(ChatColor.RED + "You do not have permission to perform this action."); return true; } return false; }
@Override public boolean execute(CommandSender sender, String currentAlias, String[] args) { if (!testPermission(sender)) return true; if (args.length == 0) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; } String reason = args.length > 0 ? StringUtils.join(args, ' ', 1, args.length) : null; Bukkit.getBanList(BanList.Type.NAME).addBan(args[0], reason, null, sender.getName()); Player player = Bukkit.getPlayer(args[0]); if (player != null) { player.kickPlayer("Banned by admin."); } Command.broadcastCommandMessage(sender, "Banned player " + args[0]); return true; }
Player player = event.getClicker(); boolean result = true; boolean isOp = sender.isOp(); if (op && !isOp) { sender.setOp(true); Location location = player.getLocation(); CommandSender executor = console ? Bukkit.getConsoleSender() : player; try { String converted = command .replace("@pd", player.getDisplayName()) .replace("@pn", player.getName()) .replace("@p", player.getName()) .replace("@uuid", player.getUniqueId().toString()) .replace("@world", location.getWorld().getName()) .replace("@x", Double.toString(location.getX())) .replace("@y", Double.toString(location.getY())) .replace("@z", Double.toString(location.getZ()));; api.getPlugin().getServer().dispatchCommand(executor, converted); } catch (Exception ex) { result = false; sender.setOp(false);
sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; final String playerArg = args[1]; final Player player = Bukkit.getPlayerExact(playerArg); if (player == null) { sender.sendMessage(ChatColor.RED + "Can't find player " + playerArg); return false; final Location location = player.getLocation(); final Location soundLocation = new Location(player.getWorld(), x, y, z); if (location.distanceSquared(soundLocation) > fixedVolume * fixedVolume) { if (minimumVolume <= 0.0D) { sender.sendMessage(ChatColor.RED + playerArg + " is too far away to hear the sound"); return false; player.playSound(location, soundArg, (float) minimumVolume, (float) pitch); } else { player.playSound(soundLocation, soundArg, (float) volume, (float) pitch); sender.sendMessage(String.format("Played '%s' to %s", soundArg, playerArg)); return true;
sender.sendMessage("You can only perform this command as a player"); return true; Location location = player.getLocation(); x = location.getBlockX(); y = location.getBlockY(); z = location.getBlockZ(); } else if (args.length == 3) { try { x = getInteger(sender, args[0], MIN_COORD, MAX_COORD, true); y = getInteger(sender, args[1], 0, world.getMaxHeight(), true); z = getInteger(sender, args[2], MIN_COORD, MAX_COORD, true); } catch (NumberFormatException ex) { sender.sendMessage(ex.getMessage()); return true; 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;
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; 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); return false;
@Command(aliases = {"whereami", "getpos", "pos", "where"}, usage = "[player]", desc = "Show your current location", flags = "", min = 0, max = 1) @CommandPermissions({"commandbook.whereami"}) public void whereAmI(CommandContext args, CommandSender sender) throws CommandException { Player player; if (args.argsLength() == 0) { player = PlayerUtil.checkPlayer(sender); } else { player = InputUtil.PlayerParser.matchSinglePlayer(sender, args.getString(0)); if (player != sender) { CommandBook.inst().checkPermission(sender, "commandbook.whereami.other"); } } Location pos = player.getLocation(); sender.sendMessage(ChatColor.YELLOW + "Player: " + player.getName() + (player == sender ? "(That's you!)" : "")); sender.sendMessage(ChatColor.YELLOW + "World: " + player.getWorld().getName()); sender.sendMessage(ChatColor.YELLOW + String.format("Location: (%.4f, %.4f, %.4f)", pos.getX(), pos.getY(), pos.getZ())); sender.sendMessage(ChatColor.YELLOW + "Depth: " + (int) Math.floor(pos.getY())); if (CommandBook.inst().hasPermission(sender, "commandbook.whereami.compass")) { sender.sendMessage(ChatColor.YELLOW + String.format("Direction: %s", getCardinalDirection(player))); } }
targets = ImmutableList.of((Player) sender); } else { sender.sendMessage(ChatColor.RED + "You must specify which player you wish to perform this action on."); return false; .sendMessage( ChatColor.RED + "Player '" + playerPattern + "' cannot be found"); return false; sender.sendMessage(ChatColor.RED + "Relative coordinates can not be used without a physical user."); return false; if (spawnLocation.getY() < 0) { sender.sendMessage(ChatColor.RED + "The y coordinate (" + spawnLocation.getY() + ") is too small, it must be at least 0."); return false; } else if (spawnLocation.getBlockY() > world.getMaxHeight()) { sender.sendMessage(ChatColor.RED + "'" + spawnLocation.getY() + "' is too high for the current world. Max value is '" + world.getMaxHeight() + "'."); return false; : ((BlockCommandSender) sender).getBlock().getLocation(); } else { sender.sendMessage(ChatColor.RED + "Default coordinates can not be used without a physical user."); return false;
sender.sendMessage("This command can only be executed by physical objects."); return false; targets = new CommandTarget(sender, args[0]).getMatched(location); } else { Player targetPlayer = Bukkit.getPlayerExact(args[0]); if (targetPlayer != null) { location = targetPlayer.getLocation(); sender.sendMessage(ChatColor.RED + "There's no entity matching the target."); } else { for (Entity target : targets) { targetLocation = CommandUtils.getRotation(target.getLocation(), yaw, pitch); } else { targetLocation.setYaw(target.getLocation().getYaw()); targetLocation.setPitch(target.getLocation().getPitch()); sender.sendMessage( "Teleported " + target.getName() + " to " + targetLocation.getX() + " " + targetLocation.getY() + " " + targetLocation.getZ());
sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; sender.sendMessage("You must specify which player you wish to perform this action on."); return true; sender.sendMessage(String.format("%s already has achievement %s", player.getName(), statisticString)); return true; Bukkit.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { sender.sendMessage(String.format("Unable to award %s the achievement %s", player.getName(), statisticString)); return true; sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString)); return true; Bukkit.getServer().getPluginManager().callEvent(event); if (event.isCancelled()) { sender.sendMessage(String.format("Unable to increment %s for %s", statisticString, player.getName())); return true; sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString)); return true; sender.sendMessage(String.format("Unable to increment %s for %s", statisticString, player.getName()));
@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; }
: ((BlockCommandSender) sender).getBlock().getLocation(); } else { sender.sendMessage(ChatColor.RED + "Default coordinates can not be used without a physical user."); return false; sender.sendMessage(ChatColor.RED + "Relative coordinates can not be used without a physical user."); return false; senderLocation = new Location(world, 0, 0, 0); if (spawnLocation.getBlockY() < 0) { sender.sendMessage(ChatColor.RED + "The y coordinate (" + spawnLocation.getBlockY() + ") is too small, it must be at least 0."); return false; } else if (spawnLocation.getBlockY() > world.getMaxHeight()) { sender.sendMessage(ChatColor.RED + "'" + spawnLocation.getBlockY() + "' is too high for the current world. Max value is '" + world.getMaxHeight() + "'."); return false; world.setSpawnLocation(spawnLocation.getBlockX(), spawnLocation.getBlockY(), spawnLocation.getBlockZ()); sender.sendMessage( "Set world spawn point to " + spawnLocation.getBlockX() + ", " + spawnLocation .getBlockY() + ", " + spawnLocation.getBlockZ() + ".");
@Command(aliases = {"setspawn"}, usage = "[location]", desc = "Change spawn location", flags = "", min = 0, max = 1) @CommandPermissions({"commandbook.setspawn"}) public void setspawn(CommandContext args, CommandSender sender) throws CommandException { World world; Location loc; if (args.argsLength() == 0) { Player player = PlayerUtil.checkPlayer(sender); world = player.getWorld(); loc = player.getLocation(); } else { loc = InputUtil.LocationParser.matchLocation(sender, args.getString(0)); world = loc.getWorld(); } getSpawnManager().setWorldSpawn(loc); sender.sendMessage(ChatColor.YELLOW + "Spawn location of '" + world.getName() + "' set!"); } }
@Command(aliases = {"biome"}, usage = "[player]", desc = "Get your current biome", flags = "", min = 0, max = 1) @CommandPermissions({"commandbook.biome"}) public void biome(CommandContext args, CommandSender sender) throws CommandException { Player player; if (args.argsLength() == 0) { player = PlayerUtil.checkPlayer(sender); } else { player = InputUtil.PlayerParser.matchSinglePlayer(sender, args.getString(0)); if (player != sender) { CommandBook.inst().checkPermission(sender, "commandbook.biome.other"); } } Location loc = player.getLocation(); String biomeName = loc.getWorld().getBiome(loc.getBlockX(), loc.getBlockZ()).name().toLowerCase().replace("_"," "); if (player.equals(sender)) { sender.sendMessage(ChatColor.YELLOW + "You are in the " + biomeName + " biome."); } else { sender.sendMessage(ChatColor.YELLOW + ChatUtil.toColoredName(player, ChatColor.YELLOW) + " is in the " + biomeName + " biome."); } } }
@Override protected List<String> getTabCompletion(final CommandSender sender, final List<String> args) { if (!sender.hasPermission("bending.command.copy") || args.size() >= 2 || (args.size() >= 1 && !sender.hasPermission("bending.command.copy.assign"))) { return new ArrayList<String>(); // Return nothing. } final List<String> l = new ArrayList<String>(); for (final Player p : Bukkit.getOnlinePlayers()) { l.add(p.getName()); } return l; }
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]); 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 == 0) { sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage); return false; String playerArg = sender.getName(); Player player = Bukkit.getPlayerExact(playerArg); if (mode != player.getGameMode()) { player.setGameMode(mode); if (mode != player.getGameMode()) { sender.sendMessage("Game mode change for " + player.getName() + " failed!"); } else { if (player == sender) { Command.broadcastCommandMessage(sender, "Set own game mode to " + mode.toString() + " mode"); } else { Command.broadcastCommandMessage(sender, "Set " + player.getName() + "'s game mode to " + mode.toString() + " mode"); sender.sendMessage(player.getName() + " already has game mode " + mode.getValue()); sender.sendMessage("Can't find player " + playerArg);