/** * Gets the display name of the actor. This can be a nickname, and is not guaranteed to be unique. * * @return The display name */ default String getDisplayName() { return getName(); }
@Override public boolean canUse(Actor player) { return player.hasPermission("worldedit.tool.deltree"); }
@Command( aliases = { "/calc", "/calculate", "/eval", "/evaluate", "/solve" }, usage = "<expression>", desc = "Evaluate a mathematical expression" ) @CommandPermissions("worldedit.calc") public void calc(Actor actor, @Text String input) throws CommandException { try { Expression expression = Expression.compile(input); actor.print("= " + expression.evaluate()); } catch (EvaluationException e) { actor.printError(String.format( "'%s' could not be parsed as a valid expression", input)); } catch (ExpressionException e) { actor.printError(String.format( "'%s' could not be evaluated (error: %s)", input, e.getMessage())); } }
@Command( aliases = { "version", "ver" }, usage = "", desc = "Get WorldEdit version", min = 0, max = 0 ) public void version(Actor actor) throws WorldEditException { actor.print("WorldEdit version " + WorldEdit.getVersion()); actor.print("https://github.com/sk89q/worldedit/"); PlatformManager pm = we.getPlatformManager(); actor.printDebug("----------- Platforms -----------"); for (Platform platform : pm.getPlatforms()) { actor.printDebug(String.format("* %s (%s)", platform.getPlatformName(), platform.getPlatformVersion())); } actor.printDebug("----------- Capabilities -----------"); for (Capability capability : Capability.values()) { Platform platform = pm.queryCapability(capability); actor.printDebug(String.format("%s: %s", capability.name(), platform != null ? platform.getPlatformName() : "NONE")); } }
sender.checkPermission("worldguard.slay"); } else if (args.argsLength() == 1) { targets = worldGuard.getPlatform().getMatcher().matchPlayers(sender, args.getString(0)); sender.checkPermission("worldguard.slay.other"); player.print("Slain by " + sender.getDisplayName() + "."); sender.print("Players slain.");
builder.append("WorldEdit: ").append(sender.getName()); if (sender.isPlayer()) { builder.append(" (in \"").append(player.getWorld().getName()).append("\")"); if (logMode != null && sender.isPlayer()) { Vector3 position = player.getLocation().toVector(); LocalSession session = worldEdit.getSessionManager().get(player);
@Override public void onSuccess(@Nullable V v) { if (success != null) { sender.print(success); } }
actor.printError("You are not permitted to do that. Are you in the right mode?"); } catch (InvalidUsageException e) { if (e.isFullHelpSuggested()) { actor.printRaw(ColorCodeBuilder.asColorCodes(new CommandUsageBox(e.getCommand(), e.getCommandUsed("/", ""), locals))); String message = e.getMessage(); if (message != null) { actor.printError(message); actor.printError(message != null ? message : "The command was not used properly (no more help available)."); actor.printError("Usage: " + e.getSimpleUsageString("/")); actor.printError("Please report this error: [See console]"); actor.printRaw(t.getClass().getName() + ": " + t.getMessage()); log.log(Level.SEVERE, "An unexpected error while handling a WorldEdit command", t); } catch (CommandException e) { String message = e.getMessage(); if (message != null) { actor.printError(e.getMessage()); } else { actor.printError("An unknown error has occurred! Please see console."); log.log(Level.SEVERE, "An unknown error occurred", e); if (time > 0) { double throughput = changed / (time / 1000.0); actor.printDebug((time / 1000.0) + "s elapsed (history: " + changed + " changed; " + Math.round(throughput) + " blocks/sec)."); } else { actor.printDebug((time / 1000.0) + "s elapsed.");
/** * Return a function that accepts a string to send a message to the * given sender. * * @param sender the sender * @return a function */ public static java.util.function.Function<String, ?> messageFunction(final Actor sender) { return (Function<String, Object>) s -> { sender.printRaw(s); return null; }; }
@Command(aliases = {"report"}, desc = "Writes a report on WorldEdit", flags = "p", max = 0) @CommandPermissions({"worldedit.report"}) public void report(Actor actor, CommandContext args) throws WorldEditException { ReportList report = new ReportList("Report"); report.add(new SystemInfoReport()); report.add(new ConfigReport()); String result = report.toString(); try { File dest = new File(we.getWorkingDirectoryFile(we.getConfiguration().saveDir), "report.txt"); Files.write(result, dest, Charset.forName("UTF-8")); actor.print("WorldEdit report written to " + dest.getAbsolutePath()); } catch (IOException e) { actor.printError("Failed to write report: " + e.getMessage()); } if (args.hasFlag('p')) { actor.checkPermission("worldedit.report.pastebin"); ActorCallbackPaste.pastebin( we.getSupervisor(), actor, result, "WorldEdit report: %s.report", WorldEdit.getInstance().getPlatformManager().getCommandManager().getExceptionConverter() ); } }
} else { if (isRootLevel) { actor.printError(String.format("The command '%s' could not be found.", args.getString(i))); return; } else { actor.printError(String.format("The sub-command '%s' under '%s' could not be found.", command, Joiner.on(" ").join(visited))); return; isRootLevel = false; } else { actor.printError(String.format("'%s' has no sub-commands. (Maybe '%s' is for a parameter?)", Joiner.on(" ").join(visited), command)); return; actor.printRaw(ColorCodeBuilder.asColorCodes(box)); } else { CommandUsageBox box = new CommandUsageBox(callable, Joiner.on(" ").join(visited)); actor.printRaw(ColorCodeBuilder.asColorCodes(box));
sender.print("ALL intensive server activity is not allowed."); } else { sender.print("ALL intensive server activity is allowed."); sender.print("ALL intensive server activity halted."); worldGuard.getPlatform().broadcastNotification(Style.YELLOW + "ALL intensive server activity halted by " + sender.getDisplayName() + "."); } else { sender.print("(Silent) ALL intensive server activity halted by " + sender.getDisplayName() + "."); sender.printRaw("" + removed + " entities (>10) auto-removed from " + world.getName()); sender.print("ALL intensive server activity is now allowed."); sender.print("(Silent) ALL intensive server activity is now allowed.");
@Override public String replaceMacros(Actor sender, String message) { Collection<? extends Player> online = Bukkit.getServer().getOnlinePlayers(); message = message.replace("%name%", sender.getName()); message = message.replace("%id%", sender.getUniqueId().toString()); message = message.replace("%online%", String.valueOf(online.size())); if (sender instanceof LocalPlayer) { LocalPlayer player = (LocalPlayer) sender; World world = (World) player.getExtent(); message = message.replace("%world%", world.getName()); message = message.replace("%health%", String.valueOf(player.getHealth())); } return message; } }
@Command(aliases = {"running", "queue"}, desc = "List running tasks", max = 0) @CommandPermissions("worldguard.running") public void listRunningTasks(CommandContext args, Actor sender) throws CommandException { List<Task<?>> tasks = WorldGuard.getInstance().getSupervisor().getTasks(); if (!tasks.isEmpty()) { tasks.sort(new TaskStateComparator()); StringBuilder builder = new StringBuilder(); builder.append(Style.GRAY); builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"); builder.append(" Running tasks "); builder.append("\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550"); builder.append("\n").append(Style.GRAY).append("Note: Some 'running' tasks may be waiting to be start."); for (Task task : tasks) { builder.append("\n"); builder.append(Style.BLUE).append("(").append(task.getState().name()).append(") "); builder.append(Style.YELLOW); builder.append(CommandUtils.getOwnerName(task.getOwner())); builder.append(": "); builder.append(Style.WHITE); builder.append(task.getName()); } sender.printRaw(builder.toString()); } else { sender.print("There are currently no running tasks."); } }
if (flag != null && flag && owners != null && owners.size() == 0) { if (!sender.hasPermission("worldguard.region.unlimited")) { int maxRegionCount = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world).getMaxRegionCount(player); if (maxRegionCount >= 0 && manager.getRegionCountOfPlayer(player) sender.checkPermission("worldguard.region.addowner.unclaimed." + id.toLowerCase()); } else {
if (!actor.isPlayer()) { return; // This is for players only.
@Command(aliases = {"allowfire"}, usage = "[<world>]", desc = "Allows all fire spread temporarily", max = 1) @CommandPermissions({"worldguard.fire-toggle.stop"}) public void allowFire(CommandContext args, Actor sender) throws CommandException { World world; if (args.argsLength() == 0) { world = worldGuard.checkPlayer(sender).getWorld(); } else { world = worldGuard.getPlatform().getMatcher().matchWorld(sender, args.getString(0)); } WorldConfiguration wcfg = WorldGuard.getInstance().getPlatform().getGlobalStateManager().get(world); if (wcfg.fireSpreadDisableToggle) { worldGuard.getPlatform().broadcastNotification(Style.YELLOW + "Fire spread has been globally for '" + world.getName() + "' re-enabled by " + sender.getDisplayName() + "."); } else { sender.print("Fire spread was already globally enabled."); } wcfg.fireSpreadDisableToggle = false; }
@Override public void onFailure(Throwable throwable) { LOGGER.log(Level.WARNING, "Failed to submit pastebin", throwable); sender.printError("Failed to submit to a pastebin. Please see console for the error."); } });
@Command(aliases = {"report"}, desc = "Writes a report on WorldGuard", flags = "p", max = 0) @CommandPermissions({"worldguard.report"}) public void report(CommandContext args, final Actor sender) throws CommandException, AuthorizationException { ReportList report = new ReportList("Report"); worldGuard.getPlatform().addPlatformReports(report); report.add(new SystemInfoReport()); report.add(new ConfigReport()); String result = report.toString(); try { File dest = new File(worldGuard.getPlatform().getConfigDir().toFile(), "report.txt"); Files.write(result, dest, Charset.forName("UTF-8")); sender.print("WorldGuard report written to " + dest.getAbsolutePath()); } catch (IOException e) { throw new CommandException("Failed to write report: " + e.getMessage()); } if (args.hasFlag('p')) { sender.checkPermission("worldguard.report.pastebin"); ActorCallbackPaste.pastebin(worldGuard.getSupervisor(), sender, result, "WorldGuard report: %s.report", worldGuard.getExceptionConverter()); } }
@Override public void run() { sender.printDebug(message); }