From 8b23c2c4cd140afc0ed697ec4f691a3d7295682e Mon Sep 17 00:00:00 2001 From: Josh Roy <10731363+JRoy@users.noreply.github.com> Date: Mon, 10 May 2021 14:36:30 -0400 Subject: [PATCH] Add helpful command argument descriptions (#4057) Co-authored-by: triagonal <10545540+triagonal@users.noreply.github.com> --- .../com/earth2me/essentials/Essentials.java | 38 +- .../java/com/earth2me/essentials/I18n.java | 4 +- .../com/earth2me/essentials/IEssentials.java | 4 + .../essentials/commands/Commandhelp.java | 25 ++ .../essentials/commands/Commandrecipe.java | 19 +- .../essentials/commands/Commandsettpr.java | 8 +- .../essentials/commands/Commandwarp.java | 16 +- .../commands/EssentialsCommand.java | 35 ++ .../commands/IEssentialsCommand.java | 3 + .../src/main/resources/messages.properties | 423 +++++++++++++++++- Essentials/src/main/resources/plugin.yml | 20 +- 11 files changed, 548 insertions(+), 47 deletions(-) diff --git a/Essentials/src/main/java/com/earth2me/essentials/Essentials.java b/Essentials/src/main/java/com/earth2me/essentials/Essentials.java index c2ad65cc0..8c1373d61 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/Essentials.java +++ b/Essentials/src/main/java/com/earth2me/essentials/Essentials.java @@ -109,8 +109,10 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.function.Predicate; @@ -153,6 +155,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { private transient Kits kits; private transient RandomTeleport randomTeleport; private transient UpdateChecker updateChecker; + private transient Map commandMap = new HashMap<>(); static { // TODO: improve legacy code @@ -536,6 +539,21 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { registerListeners(pm); } + private IEssentialsCommand loadCommand(final String path, final String name, final IEssentialsModule module, final ClassLoader classLoader) throws Exception { + if (commandMap.containsKey(name)) { + return commandMap.get(name); + } + final IEssentialsCommand cmd = (IEssentialsCommand) classLoader.loadClass(path + name).getDeclaredConstructor().newInstance(); + cmd.setEssentials(this); + cmd.setEssentialsModule(module); + commandMap.put(name, cmd); + return cmd; + } + + public Map getCommandMap() { + return commandMap; + } + @Override public List onTabComplete(final CommandSender sender, final Command command, final String commandLabel, final String[] args) { return onTabCompleteEssentials(sender, command, commandLabel, args, Essentials.class.getClassLoader(), @@ -582,9 +600,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { final IEssentialsCommand cmd; try { - cmd = (IEssentialsCommand) classLoader.loadClass(commandPath + command.getName()).newInstance(); - cmd.setEssentials(this); - cmd.setEssentialsModule(module); + cmd = loadCommand(commandPath, command.getName(), module, classLoader); } catch (final Exception ex) { sender.sendMessage(tl("commandNotLoaded", commandLabel)); LOGGER.log(Level.SEVERE, tl("commandNotLoaded", commandLabel), ex); @@ -691,9 +707,7 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { final IEssentialsCommand cmd; try { - cmd = (IEssentialsCommand) classLoader.loadClass(commandPath + command.getName()).newInstance(); - cmd.setEssentials(this); - cmd.setEssentialsModule(module); + cmd = loadCommand(commandPath, command.getName(), module, classLoader); } catch (final Exception ex) { sender.sendMessage(tl("commandNotLoaded", commandLabel)); LOGGER.log(Level.SEVERE, tl("commandNotLoaded", commandLabel), ex); @@ -727,8 +741,16 @@ public class Essentials extends JavaPlugin implements net.ess3.api.IEssentials { } catch (final NoChargeException | QuietAbortException ex) { return true; } catch (final NotEnoughArgumentsException ex) { - sender.sendMessage(command.getDescription()); - sender.sendMessage(command.getUsage().replaceAll("", commandLabel)); + sender.sendMessage(tl("commandHelpLine1", commandLabel)); + sender.sendMessage(tl("commandHelpLine2", command.getDescription())); + sender.sendMessage(tl("commandHelpLine3")); + if (!cmd.getUsageStrings().isEmpty()) { + for (Map.Entry usage : cmd.getUsageStrings().entrySet()) { + sender.sendMessage(tl("commandHelpLineUsage", usage.getKey().replace("", commandLabel), usage.getValue())); + } + } else { + sender.sendMessage(command.getUsage()); + } if (!ex.getMessage().isEmpty()) { sender.sendMessage(ex.getMessage()); } diff --git a/Essentials/src/main/java/com/earth2me/essentials/I18n.java b/Essentials/src/main/java/com/earth2me/essentials/I18n.java index 00e1764bb..9a2e1e4e7 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/I18n.java +++ b/Essentials/src/main/java/com/earth2me/essentials/I18n.java @@ -88,7 +88,9 @@ public class I18n implements net.ess3.api.II18n { return localeBundle.getString(string); } } catch (final MissingResourceException ex) { - Logger.getLogger("Essentials").log(Level.WARNING, String.format("Missing translation key \"%s\" in translation file %s", ex.getKey(), localeBundle.getLocale().toString()), ex); + if (ess == null || ess.getSettings().isDebug()) { + Logger.getLogger("Essentials").log(Level.WARNING, String.format("Missing translation key \"%s\" in translation file %s", ex.getKey(), localeBundle.getLocale().toString()), ex); + } return defaultBundle.getString(string); } } diff --git a/Essentials/src/main/java/com/earth2me/essentials/IEssentials.java b/Essentials/src/main/java/com/earth2me/essentials/IEssentials.java index 94b8f31c4..52d322e29 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/IEssentials.java +++ b/Essentials/src/main/java/com/earth2me/essentials/IEssentials.java @@ -3,6 +3,7 @@ package com.earth2me.essentials; import com.earth2me.essentials.api.IItemDb; import com.earth2me.essentials.api.IJails; import com.earth2me.essentials.api.IWarps; +import com.earth2me.essentials.commands.IEssentialsCommand; import com.earth2me.essentials.perm.PermissionsHandler; import com.earth2me.essentials.updatecheck.UpdateChecker; import net.ess3.provider.MaterialTagProvider; @@ -25,6 +26,7 @@ import org.bukkit.scheduler.BukkitTask; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.UUID; import java.util.function.Predicate; @@ -33,6 +35,8 @@ public interface IEssentials extends Plugin { void reload(); + Map getCommandMap(); + List onTabCompleteEssentials(CommandSender sender, Command command, String commandLabel, String[] args, ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentialsModule module); boolean onCommandEssentials(CommandSender sender, Command command, String commandLabel, String[] args, ClassLoader classLoader, String commandPath, String permissionPrefix, IEssentialsModule module); diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java index e86491b0a..aa64704c6 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandhelp.java @@ -9,11 +9,14 @@ import com.earth2me.essentials.textreader.TextInput; import com.earth2me.essentials.textreader.TextPager; import com.earth2me.essentials.utils.NumberUtil; import org.bukkit.Server; +import org.bukkit.command.Command; +import org.bukkit.command.PluginIdentifiableCommand; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Locale; +import java.util.Map; import static com.earth2me.essentials.I18n.tl; @@ -31,6 +34,28 @@ public class Commandhelp extends EssentialsCommand { final IText input = new TextInput(user.getSource(), "help", false, ess); if (input.getLines().isEmpty()) { + if (pageStr != null && pageStr.startsWith("/")) { + final String cmd = pageStr.substring(1); + for (final Map.Entry knownCmd : ess.getKnownCommandsProvider().getKnownCommands().entrySet()) { + if (knownCmd.getKey().equalsIgnoreCase(cmd)) { + user.sendMessage(tl("commandHelpLine1", cmd)); + user.sendMessage(tl("commandHelpLine2", knownCmd.getValue().getDescription())); + user.sendMessage(tl("commandHelpLine4", knownCmd.getValue().getAliases().toString())); + user.sendMessage(tl("commandHelpLine3")); + final boolean isEssCommand = knownCmd.getValue() instanceof PluginIdentifiableCommand && ((PluginIdentifiableCommand) knownCmd.getValue()).getPlugin().equals(ess); + final IEssentialsCommand essCommand = isEssCommand ? ess.getCommandMap().get(knownCmd.getValue().getName()) : null; + if (essCommand != null && !essCommand.getUsageStrings().isEmpty()) { + for (Map.Entry usage : essCommand.getUsageStrings().entrySet()) { + user.sendMessage(tl("commandHelpLineUsage", usage.getKey().replace("", cmd), usage.getValue())); + } + } else { + user.sendMessage(knownCmd.getValue().getUsage()); + } + return; + } + } + } + if (NumberUtil.isInt(pageStr) || pageStr == null) { output = new HelpInput(user, "", ess); } else { diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java index e57edf3ea..3e4dcb487 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandrecipe.java @@ -23,26 +23,31 @@ import java.util.Map; import static com.earth2me.essentials.I18n.tl; public class Commandrecipe extends EssentialsCommand { - private static final Material FIREWORK_ROCKET = EnumUtil.getMaterial("FIREWORK_ROCKET", "FIREWORK"); private static final Material FIREWORK_STAR = EnumUtil.getMaterial("FIREWORK_STAR", "FIREWORK_CHARGE"); private static final Material GUNPOWDER = EnumUtil.getMaterial("GUNPOWDER", "SULPHUR"); + private final boolean unsupported; public Commandrecipe() { super("recipe"); - } - - @Override - public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception { // On versions at or above 1.12, we need recipe book API + boolean unsupported = false; if (VersionUtil.getServerBukkitVersion().isHigherThanOrEqualTo(VersionUtil.v1_12_0_R01)) { try { Class.forName("com.destroystokyo.paper.event.player.PlayerRecipeBookClickEvent"); } catch (final ClassNotFoundException e) { - sender.sendMessage(tl("unsupportedFeature")); - return; + unsupported = true; } } + this.unsupported = unsupported; + } + + @Override + public void run(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception { + if (unsupported) { + sender.sendMessage(tl("unsupportedFeature")); + return; + } if (args.length < 1) { throw new NotEnoughArgumentsException(); diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java index ad65ce016..b9f25e073 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandsettpr.java @@ -17,9 +17,13 @@ public class Commandsettpr extends EssentialsCommand { @Override protected void run(final Server server, final User user, final String commandLabel, final String[] args) throws Exception { + if (args.length == 0) { + throw new NotEnoughArgumentsException(); + } + final RandomTeleport randomTeleport = ess.getRandomTeleport(); randomTeleport.getCachedLocations().clear(); - if (args.length == 0 || "center".equalsIgnoreCase(args[0])) { + if ("center".equalsIgnoreCase(args[0])) { randomTeleport.setCenter(user.getLocation()); user.sendMessage(tl("settpr")); } else if (args.length > 1) { @@ -29,6 +33,8 @@ public class Commandsettpr extends EssentialsCommand { randomTeleport.setMaxRange(Double.parseDouble(args[1])); } user.sendMessage(tl("settprValue", args[0].toLowerCase(), args[1].toLowerCase())); + } else { + throw new NotEnoughArgumentsException(); } } diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java index b1b1ec307..86d9fa759 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/Commandwarp.java @@ -35,17 +35,15 @@ public class Commandwarp extends EssentialsCommand { warpList(user.getSource(), args, user); throw new NoChargeException(); } - if (args.length > 0) { - //TODO: Remove 'otherplayers' permission. - User otherUser = null; - if (args.length == 2 && (user.isAuthorized("essentials.warp.otherplayers") || user.isAuthorized("essentials.warp.others"))) { - otherUser = getPlayer(server, user, args, 1); - warpUser(user, otherUser, args[0], commandLabel); - throw new NoChargeException(); - } - warpUser(user, user, args[0], commandLabel); + + //TODO: Remove 'otherplayers' permission. + if (args.length == 2 && (user.isAuthorized("essentials.warp.otherplayers") || user.isAuthorized("essentials.warp.others"))) { + final User otherUser = getPlayer(server, user, args, 1); + warpUser(user, otherUser, args[0], commandLabel); throw new NoChargeException(); } + warpUser(user, user, args[0], commandLabel); + throw new NoChargeException(); } @Override diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java index be3b14c4b..50afb812f 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/EssentialsCommand.java @@ -9,6 +9,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import net.ess3.api.IEssentials; +import org.bukkit.ChatColor; import org.bukkit.Server; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -20,13 +21,17 @@ import org.bukkit.util.StringUtil; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.MissingResourceException; import java.util.UUID; import java.util.concurrent.CompletableFuture; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import static com.earth2me.essentials.I18n.tl; @@ -40,12 +45,42 @@ public abstract class EssentialsCommand implements IEssentialsCommand { * Common date diffs, for use in tab completion */ protected static final List COMMON_DATE_DIFFS = ImmutableList.of("1m", "15m", "1h", "3h", "12h", "1d", "1w", "1mo", "1y"); + private static final Pattern ARGUMENT_PATTERN = Pattern.compile("([ :>])(([\\[<])[A-Za-z |]+[>\\]])"); + private final transient String name; + private final transient Map usageStrings = new LinkedHashMap<>(); protected transient IEssentials ess; protected transient IEssentialsModule module; protected EssentialsCommand(final String name) { this.name = name; + int i = 1; + try { + // This is not actually infinite, it will throw an unchecked exception if a resource key is missing + //noinspection InfiniteLoopStatement + while (true) { + final String baseKey = name + "CommandUsage" + i; + addUsageString(tl(baseKey), tl(baseKey + "Description")); + i++; + } + } catch (MissingResourceException ignored) { + } + } + + private void addUsageString(final String usage, final String description) { + final StringBuffer buffer = new StringBuffer(); + final Matcher matcher = ARGUMENT_PATTERN.matcher(usage); + while (matcher.find()) { + final String color = matcher.group(3).equals("<") ? tl("commandArgumentRequired") : tl("commandArgumentOptional"); + matcher.appendReplacement(buffer, "$1" + color + matcher.group(2).replace("|", ChatColor.RED + "|" + color) + ChatColor.RESET); + } + matcher.appendTail(buffer); + usageStrings.put(buffer.toString(), description); + } + + @Override + public Map getUsageStrings() { + return usageStrings; } public static String getFinalArg(final String[] args, final int start) { diff --git a/Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java b/Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java index 2027dd3c3..3e6bf5b17 100644 --- a/Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java +++ b/Essentials/src/main/java/com/earth2me/essentials/commands/IEssentialsCommand.java @@ -9,10 +9,13 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import java.util.List; +import java.util.Map; public interface IEssentialsCommand { String getName(); + Map getUsageStrings(); + void run(Server server, User user, String commandLabel, Command cmd, String[] args) throws Exception; void run(Server server, CommandSource sender, String commandLabel, Command cmd, String[] args) throws Exception; diff --git a/Essentials/src/main/resources/messages.properties b/Essentials/src/main/resources/messages.properties index 9eb2bfb62..b1c404d4a 100644 --- a/Essentials/src/main/resources/messages.properties +++ b/Essentials/src/main/resources/messages.properties @@ -8,6 +8,10 @@ addedToOthersAccount=\u00a7a{0} added to {1}\u00a7a account. New balance\: {2} adventure=adventure afkCommandDescription=Marks you as away-from-keyboard. afkCommandUsage=/ [player/message...] +afkCommandUsage1=/ [message] +afkCommandUsage1Description=Toggles your afk status with an optional reason +afkCommandUsage2=/ [message] +afkCommandUsage2Description=Toggles the afk status of the specified player with an optional reason alertBroke=broke\: alertFormat=\u00a73[{0}] \u00a7r {1} \u00a76 {2} at\: {3} alertPlaced=placed\: @@ -31,6 +35,10 @@ autoTeleportEnabledFor=\u00a7c{0}\u00a76 is now automatically approving teleport backAfterDeath=\u00a76Use the\u00a7c /back\u00a76 command to return to your death point. backCommandDescription=Teleports you to your location prior to tp/spawn/warp. backCommandUsage=/ [player] +backCommandUsage1=/ +backCommandUsage1Description=Teleports you to your prior location +backCommandUsage2=/ +backCommandUsage2Description=Teleports the specified player to their prior location backOther=\u00a76Returned\u00a7c {0}\u00a76 to previous location. backupCommandDescription=Runs the backup if configured. backupCommandUsage=/ @@ -42,20 +50,30 @@ backUsageMsg=\u00a76Returning to previous location. balance=\u00a7aBalance\:\u00a7c {0} balanceCommandDescription=States the current balance of a player. balanceCommandUsage=/ [player] +balanceCommandUsage1=/ +balanceCommandUsage1Description=States your current balance +balanceCommandUsage2=/ +balanceCommandUsage2Description=Displays the balance of the specified player balanceOther=\u00a7aBalance of {0}\u00a7a\:\u00a7c {1} balanceTop=\u00a76Top balances ({0}) balanceTopLine={0}. {1}, {2} balancetopCommandDescription=Gets the top balance values. -balancetopCommandUsage=/ +balancetopCommandUsage=/ [page] +balancetopCommandUsage1=/ [page] +balancetopCommandUsage1Description=Displays the first (or specified) page of the top balance values banCommandDescription=Bans a player. banCommandUsage=/ [reason] +banCommandUsage1=/ [reason] +banCommandUsage1Description=Bans the specified player with an optional reason banExempt=\u00a74You cannot ban that player. banExemptOffline=\u00a74You may not ban offline players. banFormat=\u00a7cYou have been banned\:\n\u00a7r{0} banIpJoin=Your IP address is banned from this server. Reason: {0} banJoin=You are banned from this server. Reason: {0} banipCommandDescription=Bans an IP address. -banipCommandUsage=/
+banipCommandUsage=/
[reason] +banipCommandUsage1=/
[reason] +banipCommandUsage1Description=Bans the specified IP address with an optional reason bed=\u00a7obed\u00a7r bedMissing=\u00a74Your bed is either unset, missing or blocked. bedNull=\u00a7mbed\u00a7r @@ -67,11 +85,19 @@ bigTreeFailure=\u00a74Big tree generation failure. Try again on grass or dirt. bigTreeSuccess=\u00a76Big tree spawned. bigtreeCommandDescription=Spawn a big tree where you are looking. bigtreeCommandUsage=/ +bigtreeCommandUsage1=/ +bigtreeCommandUsage1Description=Spawns a big tree of the specified type blockList=\u00a76EssentialsX is relaying the following commands to other plugins\: blockListEmpty=\u00a76EssentialsX is not relaying any commands to other plugins. bookAuthorSet=\u00a76Author of the book set to {0}. bookCommandDescription=Allows reopening and editing of sealed books. bookCommandUsage=/ [title|author [name]] +bookCommandUsage1=/ +bookCommandUsage1Description=Locks/Unlocks a book-and-quill/signed book +bookCommandUsage2=/ author +bookCommandUsage2Description=Sets the author of a signed book +bookCommandUsage3=/ title +bookCommandUsage3Description=Sets the title of a signed book bookLocked=\u00a76This book is now locked. bookTitleSet=\u00a76Title of the book set to {0}. breakCommandDescription=Breaks the block you are looking at. @@ -79,10 +105,16 @@ breakCommandUsage=/<command> broadcast=\u00a76[\u00a74Broadcast\u00a76]\u00a7a {0} broadcastCommandDescription=Broadcasts a message to the entire server. broadcastCommandUsage=/<command> <msg> +broadcastCommandUsage1=/<command> <message> +broadcastCommandUsage1Description=Broadcasts the given message to the entire server broadcastworldCommandDescription=Broadcasts a message to a world. broadcastworldCommandUsage=/<command> <world> <msg> +broadcastworldCommandUsage1=/<command> <world> <msg> +broadcastworldCommandUsage1Description=Broadcasts the given message to the specified world burnCommandDescription=Set a player on fire. burnCommandUsage=/<command> <player> <seconds> +burnCommandUsage1=/<command> <player> <seconds> +burnCommandUsage1Description=Sets the specified player on fire for the specified amount of seconds burnMsg=\u00a76You set\u00a7c {0} \u00a76on fire for\u00a7c {1} seconds\u00a76. cannotSellNamedItem=\u00a76You are not allowed to sell named items. cannotSellTheseNamedItems=\u00a76You are not allowed to sell these named items: \u00a74{0} @@ -102,18 +134,35 @@ clearInventoryConfirmToggleOff=\u00a76You will no longer be prompted to confirm clearInventoryConfirmToggleOn=\u00a76You will now be prompted to confirm inventory clears. clearinventoryCommandDescription=Clear all items in your inventory. clearinventoryCommandUsage=/<command> [player|*] [item[:<data>]|*|**] [amount] +clearinventoryCommandUsage1=/<command> +clearinventoryCommandUsage1Description=Clears all items in your inventory +clearinventoryCommandUsage2=/<command> <player> +clearinventoryCommandUsage2Description=Clears all items from the specified player's inventory +clearinventoryCommandUsage3=/<command> <player> <item> [amount] +clearinventoryCommandUsage3Description=Clears all (or the specified amount) of the given item from the specified player's inventory clearinventoryconfirmtoggleCommandDescription=Toggles whether you are prompted to confirm inventory clears. clearinventoryconfirmtoggleCommandUsage=/<command> +commandArgumentOptional=\u00a77 +commandArgumentRequired=\u00a7e commandCooldown=\u00a7cYou cannot type that command for {0}. commandDisabled=\u00a7cThe command\u00a76 {0}\u00a7c is disabled. commandFailed=Command {0} failed\: commandHelpFailedForPlugin=Error getting help for plugin\: {0} +commandHelpLine1=\u00a76Command Help: \u00a7f/{0} +commandHelpLine2=\u00a76Description: \u00a7f{0} +commandHelpLine3=\u00a76Usage(s); +commandHelpLine4=\u00a76Aliases(s): \u00a7f{0} +commandHelpLineUsage={0} \u00a76- {1} commandNotLoaded=\u00a74Command {0} is improperly loaded. compassBearing=\u00a76Bearing\: {0} ({1} degrees). compassCommandDescription=Describes your current bearing. compassCommandUsage=/<command> condenseCommandDescription=Condenses items into a more compact blocks. -condenseCommandUsage=/<command> [<itemname>|<id>|hand|inventory] +condenseCommandUsage=/<command> [item] +condenseCommandUsage1=/<command> +condenseCommandUsage1Description=Condenses all items in your inventory +condenseCommandUsage2=/<command> <item> +condenseCommandUsage2Description=Condenses the specified item in your inventory configFileMoveError=Failed to move config.yml to backup location. configFileRenameError=Failed to rename temp file to config.yml. confirmClear=\u00a77To \u00a7lCONFIRM\u00a77 inventory clear, please repeat command: \u00a76{0} @@ -127,6 +176,8 @@ couldNotFindTemplate=\u00a74Could not find template {0} createdKit=\u00a76Created kit \u00a7c{0} \u00a76with \u00a7c{1} \u00a76entries and delay \u00a7c{2} createkitCommandDescription=Create a kit in game! createkitCommandUsage=/<command> <kitname> <delay> +createkitCommandUsage1=/<command> <kitname> <delay> +createkitCommandUsage1Description=Creates a kit with the given name and delay createKitFailed=\u00a74Error occurred whilst creating kit {0}. createKitSeparator=\u00a7m----------------------- createKitSuccess=\u00a76Created Kit: \u00a7f{0}\n\u00a76Delay: \u00a7f{1}\n\u00a76Link: \u00a7f{2}\n\u00a76Copy contents in the link above into your kits.yml. @@ -147,12 +198,22 @@ deleteKit=\u00a76Kit\u00a7c {0} \u00a76has been removed. deleteWarp=\u00a76Warp\u00a7c {0} \u00a76has been removed. delhomeCommandDescription=Removes a home. delhomeCommandUsage=/<command> [player:]<name> +delhomeCommandUsage1=/<command> <name> +delhomeCommandUsage1Description=Deletes your home with the given name +delhomeCommandUsage2=/<command> <player>:<name> +delhomeCommandUsage2Description=Deletes the specified player's home with the given name deljailCommandDescription=Removes a jail. deljailCommandUsage=/<command> <jailname> +deljailCommandUsage1=/<command> <jailname> +deljailCommandUsage1Description=Deletes the jail with the given name delkitCommandDescription=Deletes the specified kit. delkitCommandUsage=/<command> <kit> +delkitCommandUsage1=/<command> <kit> +delkitCommandUsage1Description=Deletes the kit with the given name delwarpCommandDescription=Deletes the specified warp. delwarpCommandUsage=/<command> <warp> +delwarpCommandUsage1=/<command> <warp> +delwarpCommandUsage1Description=Deletes the warp with the given name deniedAccessCommand=\u00a7c{0} \u00a74was denied access to command. denyBookEdit=\u00a74You cannot unlock this book. denyChangeAuthor=\u00a74You cannot change the author of this book. @@ -177,10 +238,20 @@ durability=\u00a76This tool has \u00a7c{0}\u00a76 uses left. east=E ecoCommandDescription=Manages the server economy. ecoCommandUsage=/<command> <give|take|set|reset> <player> <amount> +ecoCommandUsage1=/<command> give <player> <amount> +ecoCommandUsage1Description=Gives the specified player the specified amount of money +ecoCommandUsage2=/<command> take <player> <amount> +ecoCommandUsage2Description=Takes the specified amount of money from the specified player +ecoCommandUsage3=/<command> set <player> <amount> +ecoCommandUsage3Description=Sets the specified player's balance to the specified amount of money +ecoCommandUsage4=/<command> reset <player> <amount> +ecoCommandUsage4Description=Resets the specified player's balance to the server's starting balance editBookContents=\u00a7eYou may now edit the contents of this book. enabled=enabled enchantCommandDescription=Enchants the item the user is holding. enchantCommandUsage=/<command> <enchantmentname> [level] +enchantCommandUsage1=/<command> <enchantment name> [level] +enchantCommandUsage1Description=Enchants your held item with the given enchantment to an optional level enableUnlimited=\u00a76Giving unlimited amount of\u00a7c {0} \u00a76to \u00a7c{1}\u00a76. enchantmentApplied=\u00a76The enchantment\u00a7c {0} \u00a76has been applied to your item in hand. enchantmentNotFound=\u00a74Enchantment not found\! @@ -189,19 +260,43 @@ enchantmentRemoved=\u00a76The enchantment\u00a7c {0} \u00a76has been removed fro enchantments=\u00a76Enchantments\:\u00a7r {0} enderchestCommandDescription=Lets you see inside an enderchest. enderchestCommandUsage=/<command> [player] +enderchestCommandUsage1=/<command> +enderchestCommandUsage1Description=Opens your ender chest +enderchestCommandUsage2=/<command> <player> +enderchestCommandUsage2Description=Opens the ender chest of the target player errorCallingCommand=Error calling the command /{0} errorWithMessage=\u00a7cError\:\u00a74 {0} essentialsCommandDescription=Reloads essentials. essentialsCommandUsage=/<command> +essentialsCommandUsage1=/<command> reload +essentialsCommandUsage1Description=Reloads Essentials' config +essentialsCommandUsage2=/<command> version +essentialsCommandUsage2Description=Gives information about the Essentials version +essentialsCommandUsage3=/<command> commands +essentialsCommandUsage3Description=Gives information about what commands Essentials is forwarding +essentialsCommandUsage4=/<command> debug +essentialsCommandUsage4Description=Toggles Essentials' "debug mode" +essentialsCommandUsage5=/<command> reset <player> +essentialsCommandUsage5Description=Resets the given player's userdata essentialsHelp1=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, go to http\://tiny.cc/EssentialsChat essentialsHelp2=The file is broken and Essentials can''t open it. Essentials is now disabled. If you can''t fix the file yourself, either type /essentialshelp in game or go to http\://tiny.cc/EssentialsChat essentialsReload=\u00a76Essentials reloaded\u00a7c {0}. exp=\u00a7c{0} \u00a76has\u00a7c {1} \u00a76exp (level\u00a7c {2}\u00a76) and needs\u00a7c {3} \u00a76more exp to level up. expCommandDescription=Give, set, reset, or look at a players experience. expCommandUsage=/<command> [reset|show|set|give] [playername [amount]] +expCommandUsage1=/<command> give <player> <amount> +expCommandUsage1Description=Gives the target player the specified amount of xp +expCommandUsage2=/<command> set <playername> <amount> +expCommandUsage2Description=Sets the target player's xp the specified amount +expCommandUsage3=/<command> show <playername> +expCommandUsage4Description=Displays the amount of xp the target player has +expCommandUsage5=/<command> reset <playername> +expCommandUsage5Description=Resets the target player's xp to 0 expSet=\u00a7c{0} \u00a76now has\u00a7c {1} \u00a76exp. extCommandDescription=Extinguish players. extCommandUsage=/<command> [player] +extCommandUsage1=/<command> [player] +extCommandUsage1Description=Extinguish yourself or another player if specified extinguish=\u00a76You extinguished yourself. extinguishOthers=\u00a76You extinguished {0}\u00a76. failedToCloseConfig=Failed to close config {0}. @@ -211,17 +306,33 @@ false=\u00a74false\u00a7r feed=\u00a76Your appetite was sated. feedCommandDescription=Satisfy the hunger. feedCommandUsage=/<command> [player] +feedCommandUsage1=/<command> [player] +feedCommandUsage1Description=Fully feeds yourself or another player if specified feedOther=\u00a76You satiated the appetite of \u00a7c{0}\u00a76. fileRenameError=Renaming file {0} failed\! fireballCommandDescription=Throw a fireball or other assorted projectiles. fireballCommandUsage=/<command> [fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident] [speed] +fireballCommandUsage1=/<command> +fireballCommandUsage1Description=Throws a regular fireball from your location +fireballCommandUsage2=/<command> <fireball|small|large|arrow|skull|egg|snowball|expbottle|dragon|splashpotion|lingeringpotion|trident> [speed] +fireballCommandUsage2Description=Throws the specified projectile from your location, with an optional speed fireworkColor=\u00a74Invalid firework charge parameters inserted, must set a color first. fireworkCommandDescription=Allows you to modify a stack of fireworks. fireworkCommandUsage=/<command> <<meta param>|power [amount]|clear|fire [amount]> +fireworkCommandUsage1=/<command> clear +fireworkCommandUsage1Description=Clears all effects from your held firework +fireworkCommandUsage2=/<command> power <amount> +fireworkCommandUsage2Description=Sets the power of the held firework +fireworkCommandUsage3=/<command> fire [amount] +fireworkCommandUsage3Description=Launches either one, or the amount specified, copies of the held firework +fireworkCommandUsage4=/<command> <meta> +fireworkCommandUsage4Description=Adds the given effect to the held firework fireworkEffectsCleared=\u00a76Removed all effects from held stack. fireworkSyntax=\u00a76Firework parameters\:\u00a7c color\:<color> [fade\:<color>] [shape\:<shape>] [effect\:<effect>]\n\u00a76To use multiple colors/effects, separate values with commas\: \u00a7cred,blue,pink\n\u00a76Shapes\:\u00a7c star, ball, large, creeper, burst \u00a76Effects\:\u00a7c trail, twinkle. flyCommandDescription=Take off, and soar! flyCommandUsage=/<command> [player] [on|off] +flyCommandUsage1=/<command> [player] +flyCommandUsage1Description=Toggles fly for yourself or another player if specified flying=flying flyMode=\u00a76Set fly mode\u00a7c {0} \u00a76for {1}\u00a76. foreverAlone=\u00a74You have nobody to whom you can reply. @@ -232,8 +343,10 @@ gameMode=\u00a76Set game mode\u00a7c {0} \u00a76for \u00a7c{1}\u00a76. gameModeInvalid=\u00a74You need to specify a valid player/mode. gamemodeCommandDescription=Change player gamemode. gamemodeCommandUsage=/<command> <survival|creative|adventure|spectator> [player] +gamemodeCommandUsage1=/<command> <survival|creative|adventure|spectator> [player] +gamemodeCommandUsage1Description=Sets the gamemode of either you or another player if specified gcCommandDescription=Reports memory, uptime and tick info. -gcCommandUsage=/<command> [all] +gcCommandUsage=/<command> gcfree=\u00a76Free memory\:\u00a7c {0} MB. gcmax=\u00a76Maximum memory\:\u00a7c {0} MB. gctotal=\u00a76Allocated memory\:\u00a7c {0} MB. @@ -241,8 +354,14 @@ gcWorld=\u00a76{0} "\u00a7c{1}\u00a76"\: \u00a7c{2}\u00a76 chunks, \u00a7c{3}\u0 geoipJoinFormat=\u00a76Player \u00a7c{0} \u00a76comes from \u00a7c{1}\u00a76. getposCommandDescription=Get your current coordinates or those of a player. getposCommandUsage=/<command> [player] +getposCommandUsage1=/<command> [player] +getposCommandUsage1Description=Gets the coordinates of either you or another player if specified giveCommandDescription=Give a player an item. giveCommandUsage=/<command> <player> <item|numeric> [amount [itemmeta...]] +giveCommandUsage1=/<command> <player> <item> [amount] +giveCommandUsage1Description=Gives the target player 64 (or the specified amount) of the specified item +giveCommandUsage2=/<command> <player> <item> <amount> <meta> +giveCommandUsage2Description=Gives the target player the specified amount of the specified item with the given metadata geoipCantFind=\u00a76Player \u00a7c{0} \u00a76comes from \u00a7aan unknown country\u00a76. geoIpErrorOnJoin=Unable to fetch GeoIP data for {0}. Please ensure that your license key and configuration are correct. geoIpLicenseMissing=No license key found\! Please visit https\://essentialsx.net/geoip for first time setup instructions. @@ -251,6 +370,8 @@ geoIpUrlInvalid=GeoIP download url is invalid. givenSkull=\u00a76You have been given the skull of \u00a7c{0}\u00a76. godCommandDescription=Enables your godly powers. godCommandUsage=/<command> [player] [on|off] +godCommandUsage1=/<command> [player] +godCommandUsage1Description=Toggles god mode for you or another player if specified giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} \u00a76to\u00a7c {2}\u00a76. giveSpawnFailure=\u00a74Not enough space, \u00a7c{0} {1} \u00a74was lost. godDisabledFor=\u00a7cdisabled\u00a76 for\u00a7c {0} @@ -263,6 +384,10 @@ groupNumber=\u00a7c{0}\u00a7f online, for the full list\:\u00a7c /{1} {2} hatArmor=\u00a74You cannot use this item as a hat\! hatCommandDescription=Get some cool new headgear. hatCommandUsage=/<command> [remove] +hatCommandUsage1=/<command> +hatCommandUsage1Description=Sets your hat to your currently held item +hatCommandUsage2=/<command> remove +hatCommandUsage2Description=Removes your current hat hatCurse=\u00a74You cannot remove a hat with the curse of binding\! hatEmpty=\u00a74You are not wearing a hat. hatFail=\u00a74You must have something to wear in your hand. @@ -272,6 +397,8 @@ haveBeenReleased=\u00a76You have been released. heal=\u00a76You have been healed. healCommandDescription=Heals you or the given player. healCommandUsage=/<command> [player] +healCommandUsage1=/<command> [player] +healCommandUsage1Description=Heals you or another player if specified healDead=\u00a74You cannot heal someone who is dead\! healOther=\u00a76Healed\u00a7c {0}\u00a76. helpCommandDescription=Views a list of available commands. @@ -284,12 +411,18 @@ helpOp=\u00a74[HelpOp]\u00a7r \u00a76{0}\:\u00a7r {1} helpPlugin=\u00a74{0}\u00a7r\: Plugin Help\: /help {1} helpopCommandDescription=Message online admins. helpopCommandUsage=/<command> <message> +helpopCommandUsage1=/<command> <message> +helpopCommandUsage1Description=Sends the given message to all online admins holdBook=\u00a74You are not holding a writable book. holdFirework=\u00a74You must be holding a firework to add effects. holdPotion=\u00a74You must be holding a potion to apply effects to it. holeInFloor=\u00a74Hole in floor\! homeCommandDescription=Teleport to your home. homeCommandUsage=/<command> [player:][name] +homeCommandUsage1=/<command> <name> +homeCommandUsage1Description=Teleports you to your home with the given name +homeCommandUsage2=/<command> <player>:<name> +homeCommandUsage2Description=Teleports you to the specified player's home with the given name homes=\u00a76Homes\:\u00a7r {0} homeConfirmation=\u00a76You already have a home named \u00a7c{0}\u00a76!\nTo overwrite your existing home, type the command again. homeSet=\u00a76Home set to current location. @@ -297,6 +430,8 @@ hour=hour hours=hours ignoreCommandDescription=Ignore or unignore other players. ignoreCommandUsage=/<command> <player> +ignoreCommandUsage1=/<command> <player> +ignoreCommandUsage1Description=Ignores or unignores the given player ignoredList=\u00a76Ignored\:\u00a7r {0} ignoreExempt=\u00a74You may not ignore that player. ignorePlayer=\u00a76You ignore player\u00a7c {0} \u00a76from now on. @@ -330,16 +465,28 @@ inventoryClearingFromAll=\u00a76Clearing the inventory of all users... inventoryClearingStack=\u00a76Removed\u00a7c {0} \u00a76of\u00a7c {1} \u00a76from\u00a7c {2}\u00a76. invseeCommandDescription=See the inventory of other players. invseeCommandUsage=/<command> <player> +invseeCommandUsage1=/<command> <player> +invseeCommandUsage1Description=Opens the inventory of the specified player is=is isIpBanned=\u00a76IP \u00a7c{0} \u00a76is banned. internalError=\u00a7cAn internal error occurred while attempting to perform this command. itemCannotBeSold=\u00a74That item cannot be sold to the server. itemCommandDescription=Spawn an item. itemCommandUsage=/<command> <item|numeric> [amount [itemmeta...]] +itemCommandUsage1=/<command> <item> [amount] +itemCommandUsage1Description=Gives you a full stack (or the specified amount) of the specified item +itemCommandUsage2=/<command> <item> <amount> <meta> +itemCommandUsage2Description=Gives you the specified amount of the specified item with the given metadata itemId=\u00a76ID\:\u00a7c {0} itemloreClear=\u00a76You have cleared this item''s lore. itemloreCommandDescription=Edit the lore of an item. itemloreCommandUsage=/<command> <add/set/clear> [text/line] [text] +itemloreCommandUsage1=/<command> <add> [text] +itemloreCommandUsage1Description=Adds the given text to the end of the held item's lore +itemloreCommandUsage2=/<command> <set> <line number> <text> +itemloreCommandUsage2Description=Sets the specified line of the held item's lore to the given text +itemloreCommandUsage3=/<command> <clear> +itemloreCommandUsage3Description=Clears the held item's lore itemloreInvalidItem=\u00a74You need to hold an item to edit its lore. itemloreNoLine=\u00a74Your held item does not have lore text on line \u00a7c{0}\u00a74. itemloreNoLore=\u00a74Your held item does not have any lore text. @@ -350,6 +497,10 @@ itemNames=\u00a76Item short names\:\u00a7r {0} itemnameClear=\u00a76You have cleared this item''s name. itemnameCommandDescription=Names an item. itemnameCommandUsage=/<command> [name] +itemnameCommandUsage1=/<command> +itemnameCommandUsage1Description=Clears the held item's name +itemnameCommandUsage2=/<command> <name> +itemnameCommandUsage2Description=Sets the held item's name to the given text itemnameInvalidItem=\u00a7cYou need to hold an item to rename it. itemnameSuccess=\u00a76You have renamed your held item to "\u00a7c{0}\u00a76". itemNotEnough1=\u00a74You do not have enough of that item to sell. @@ -365,6 +516,8 @@ itemSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} itemType=\u00a76Item\:\u00a7c {0} itemdbCommandDescription=Searches for an item. itemdbCommandUsage=/<command> <item> +itemdbCommandUsage1=/<command> <item> +itemdbCommandUsage1Description=Searches the item database for the given item jailAlreadyIncarcerated=\u00a74Person is already in jail\:\u00a7c {0} jailList=\u00a76Jails\:\u00a7r {0} jailMessage=\u00a74You do the crime, you do the time. @@ -382,17 +535,27 @@ jumpCommandUsage=/<command> jumpError=\u00a74That would hurt your computer''s brain. kickCommandDescription=Kicks a specified player with a reason. kickCommandUsage=/<command> <player> [reason] +kickCommandUsage1=/<command> <player> [reason] +kickCommandUsage1Description=Kicks the specified player with an optional reason kickDefault=Kicked from server. kickedAll=\u00a74Kicked all players from server. kickExempt=\u00a74You cannot kick that person. kickallCommandDescription=Kicks all players off the server except the issuer. kickallCommandUsage=/<command> [reason] +kickallCommandUsage1=/<command> [reason] +kickallCommandUsage1Description=Kicks all players with an optional reason kill=\u00a76Killed\u00a7c {0}\u00a76. killCommandDescription=Kills specified player. killCommandUsage=/<command> <player> +killCommandUsage1=/<command> <player> +killCommandUsage1Description=Kills the specified player killExempt=\u00a74You cannot kill \u00a7c{0}\u00a74. kitCommandDescription=Obtains the specified kit or views all available kits. kitCommandUsage=/<command> [kit] [player] +kitCommandUsage1=/<command> +kitCommandUsage1Description=Lists all available kits +kitCommandUsage2=/<command> <kit> [player] +kitCommandUsage2Description=Gives the specified kit to you or another player if specified kitContains=\u00a76Kit \u00a7c{0} \u00a76contains: kitCost=\ \u00a77\u00a7o({0})\u00a7r kitDelay=\u00a7m{0}\u00a7r @@ -408,6 +571,8 @@ kitReceive=\u00a76Received kit\u00a7c {0}\u00a76. kitReset=\u00a76Reset cooldown for kit \u00a7c{0}\u00a76. kitresetCommandDescription=Resets the cooldown on the specified kit. kitresetCommandUsage=/<command> <kit> [player] +kitresetCommandUsage1=/<command> <kit> [player] +kitresetCommandUsage1Description=Resets the cooldown of the specified kit for you or another player if specified kitResetOther=\u00a76Resetting kit \u00a7c{0} \u00a76cooldown for \u00a7c{1}\u00a76. kits=\u00a76Kits\:\u00a7r {0} kittycannonCommandDescription=Throw an exploding kitten at your opponent. @@ -416,6 +581,10 @@ kitTimed=\u00a74You can''t use that kit again for another\u00a7c {0}\u00a74. leatherSyntax=\u00a76Leather color syntax\:\u00a7c color\:<red>,<green>,<blue> eg\: color\:255,0,0\u00a76 OR\u00a7c color\:<rgb int> eg\: color\:16777011 lightningCommandDescription=The power of Thor. Strike at cursor or player. lightningCommandUsage=/<command> [player] [power] +lightningCommandUsage1=/<command> [player] +lightningCommandUsage1Description=Strikes lighting either where you're looking or at another player if specified +lightningCommandUsage2=/<command> <player> <power> +lightningCommandUsage2Description=Strikes lighting at the target player with the given power lightningSmited=\u00a76Thou hast been smitten\! lightningUse=\u00a76Smiting\u00a7c {0} listAfkTag=\u00a77[AFK]\u00a7r @@ -423,6 +592,8 @@ listAmount=\u00a76There are \u00a7c{0}\u00a76 out of maximum \u00a7c{1}\u00a76 p listAmountHidden=\u00a76There are \u00a7c{0}\u00a76/\u00a7c{1}\u00a76 out of maximum \u00a7c{2}\u00a76 players online. listCommandDescription=List all online players. listCommandUsage=/<command> [group] +listCommandUsage1=/<command> [group] +listCommandUsage1Description=Lists all players on the server, or the given group if specified listGroupTag=\u00a76{0}\u00a7r\: listHiddenTag=\u00a77[HIDDEN]\u00a7r loadWarpError=\u00a74Failed to load warp {0}. @@ -434,6 +605,14 @@ mailClear=\u00a76To clear your mail, type\u00a7c /mail clear\u00a76. mailCleared=\u00a76Mail cleared\! mailCommandDescription=Manages inter-player, intra-server mail. mailCommandUsage=/<command> [read|clear|send [to] [message]|sendall [message]] +mailCommandUsage1=/<command> read [page] +mailCommandUsage1Description=Reads the first (or specified) page of your mail +mailCommandUsage2=/<command> clear +mailCommandUsage2Description=Clears your mail +mailCommandUsage3=/<command> send <player> <message> +mailCommandUsage3Description=Sends the specified player the given message +mailCommandUsage4=/<command> sendall <message> +mailCommandUsage4Description=Sends all players the given message mailDelay=Too many mails have been sent within the last minute. Maximum\: {0} mailFormat=\u00a76[\u00a7r{0}\u00a76] \u00a7r{1} mailMessage={0} @@ -448,6 +627,8 @@ mayNotJail=\u00a74You may not jail that person\! mayNotJailOffline=\u00a74You may not jail offline players. meCommandDescription=Describes an action in the context of the player. meCommandUsage=/<command> <description> +meCommandUsage1=/<command> <description> +meCommandUsage1Description=Describes an action meSender=me meRecipient=me minimumBalanceError=\u00a74The minimum balance a user can have is {0}. @@ -466,12 +647,16 @@ month=month months=months moreCommandDescription=Fills the item stack in hand to specified amount, or to maximum size if none is specified. moreCommandUsage=/<command> [amount] +moreCommandUsage1=/<command> [amount] +moreCommandUsage1Description=Fills the held item to the specified amount, or its max size if none is specified moreThanZero=\u00a74Quantities must be greater than 0. motdCommandDescription=Views the Message Of The Day. motdCommandUsage=/<command> [chapter] [page] moveSpeed=\u00a76Set\u00a7c {0}\u00a76 speed to\u00a7c {1} \u00a76for \u00a7c{2}\u00a76. msgCommandDescription=Sends a private message to the specified player. msgCommandUsage=/<command> <to> <message> +msgCommandUsage1=/<command> <to> <message> +msgCommandUsage1Description=Privately sends the given message to the specified player msgDisabled=\u00a76Receiving messages \u00a7cdisabled\u00a76. msgDisabledFor=\u00a76Receiving messages \u00a7cdisabled \u00a76for \u00a7c{0}\u00a76. msgEnabled=\u00a76Receiving messages \u00a7cenabled\u00a76. @@ -480,10 +665,16 @@ msgFormat=\u00a76[\u00a7c{0}\u00a76 -> \u00a7c{1}\u00a76] \u00a7r{2} msgIgnore=\u00a7c{0} \u00a74has messages disabled. msgtoggleCommandDescription=Blocks receiving all private messages. msgtoggleCommandUsage=/<command> [player] [on|off] +msgtoggleCommandUsage1=/<command> [player] +msgtoggleCommandUsage1Description=Toggles fly for yourself or another player if specified multipleCharges=\u00a74You cannot apply more than one charge to this firework. multiplePotionEffects=\u00a74You cannot apply more than one effect to this potion. muteCommandDescription=Mutes or unmutes a player. muteCommandUsage=/<command> <player> [datediff] [reason] +muteCommandUsage1=/<command> <player> +muteCommandUsage1Description=Permanently mutes the specified player or unmutes them if they were already muted +muteCommandUsage2=/<command> <player> <datediff> [reason] +muteCommandUsage2Description=Mutes the specified player for the time given with an optional reason mutedPlayer=\u00a76Player\u00a7c {0} \u00a76muted. mutedPlayerFor=\u00a76Player\u00a7c {0} \u00a76muted for\u00a7c {1}\u00a76. mutedPlayerForReason=\u00a76Player\u00a7c {0} \u00a76muted for\u00a7c {1}\u00a76. Reason: \u00a7c{2} @@ -497,11 +688,27 @@ muteNotifyForReason=\u00a7c{0} \u00a76has muted player \u00a7c{1}\u00a76 for\u00 muteNotifyReason=\u00a7c{0} \u00a76has muted player \u00a7c{1}\u00a76. Reason: \u00a7c{2} nearCommandDescription=Lists the players near by or around a player. nearCommandUsage=/<command> [playername] [radius] +nearCommandUsage1=/<command> +nearCommandUsage1Description=Lists all players within the default near radius of you +nearCommandUsage2=/<command> <radius> +nearCommandUsage2Description=Lists all players within the given radius of you +nearCommandUsage3=/<command> <player> +nearCommandUsage3Description=Lists all players within the default near radius of the specified player +nearCommandUsage4=/<command> <player> <radius> +nearCommandUsage4Description=Lists all players within the given radius of the specified player nearbyPlayers=\u00a76Players nearby\:\u00a7r {0} negativeBalanceError=\u00a74User is not allowed to have a negative balance. nickChanged=\u00a76Nickname changed. nickCommandDescription=Change your nickname or that of another player. nickCommandUsage=/<command> [player] <nickname|off> +nickCommandUsage1=/<command> <nickname> +nickCommandUsage1Description=Changes your nickname to the given text +nickCommandUsage2=/<command> off +nickCommandUsage2Description=Removes your nickname +nickCommandUsage3=/<command> <player> <nickname> +nickCommandUsage3Description=Changes the specified player's nickname to the given text +nickCommandUsage4=/<command> <player> off +nickCommandUsage4Description=Removes the given player's nickname nickDisplayName=\u00a74You have to enable change-displayname in Essentials config. nickInUse=\u00a74That name is already in use. nickNameBlacklist=\u00a74That nickname is not allowed. @@ -554,6 +761,8 @@ noWarpsDefined=\u00a76No warps defined. nuke=\u00a75May death rain upon them. nukeCommandDescription=May death rain upon them. nukeCommandUsage=/<command> [player] +nukeCommandUsage1=/<command> [players...] +nukeCommandUsage1Description=Sends a nuke over all players or another player(s), if specified numberRequired=A number goes there, silly. onlyDayNight=/time only supports day/night. onlyPlayers=\u00a74Only in-game players can use \u00a7c{0}\u00a74. @@ -566,6 +775,8 @@ oversizedTempban=\u00a74You may not ban a player for this period of time. passengerTeleportFail=\u00a74You cannot be teleported while carrying passengers. payCommandDescription=Pays another player from your balance. payCommandUsage=/<command> <player> <amount> +payCommandUsage1=/<command> <player> <amount> +payCommandUsage1Description=Pays the specified player the given amount of money payConfirmToggleOff=\u00a76You will no longer be prompted to confirm payments. payConfirmToggleOn=\u00a76You will now be prompted to confirm payments. payDisabledFor=\u00a76Disabled accepting payments for \u00a7c{0}\u00a76. @@ -577,7 +788,9 @@ payToggleOn=\u00a76You are now accepting payments. payconfirmtoggleCommandDescription=Toggles whether you are prompted to confirm payments. payconfirmtoggleCommandUsage=/<command> paytoggleCommandDescription=Toggles whether you are accepting payments. -paytoggleCommandUsage=/<command> +paytoggleCommandUsage=/<command> [player] +paytoggleCommandUsage1=/<command> [player] +paytoggleCommandUsage1Description=Toggles if you, or another player if specified, are accepting payments pendingTeleportCancelled=\u00a74Pending teleportation request cancelled. pingCommandDescription=Pong! pingCommandUsage=/<command> @@ -602,6 +815,12 @@ posPitch=\u00a76Pitch\: {0} (Head angle) possibleWorlds=\u00a76Possible worlds are the numbers \u00a7c0\u00a76 through \u00a7c{0}\u00a76. potionCommandDescription=Adds custom potion effects to a potion. potionCommandUsage=/<command> <clear|apply|effect:<effect> power:<power> duration:<duration>> +potionCommandUsage1=/<command> clear +potionCommandUsage1Description=Clears all effects on the held potion +potionCommandUsage2=/<command> apply +potionCommandUsage2Description=Applies all effects on the held potion onto you without consuming the potion +potionCommandUsage3=/<command> effect:<effect> power:<power> duration:<duration> +potionCommandUsage3Description=Applies the given potion meta to the held potion posX=\u00a76X\: {0} (+East <-> -West) posY=\u00a76Y\: {0} (+Up <-> -Down) posYaw=\u00a76Yaw\: {0} (Rotation) @@ -620,12 +839,34 @@ powerToolsDisabled=\u00a76All of your power tools have been disabled. powerToolsEnabled=\u00a76All of your power tools have been enabled. powertoolCommandDescription=Assigns a command to the item in hand. powertoolCommandUsage=/<command> [l:|a:|r:|c:|d:][command] [arguments] - {player} can be replaced by name of a clicked player. +powertoolCommandUsage1=/<command> l: +powertoolCommandUsage1Description=Lists all powertools on the held item +powertoolCommandUsage2=/<command> d: +powertoolCommandUsage2Description=Deletes all powertools on the held item +powertoolCommandUsage3=/<command> r:<cmd> +powertoolCommandUsage3Description=Removes the given command from the held item +powertoolCommandUsage4=/<command> <cmd> +powertoolCommandUsage4Description=Sets the powertool command of the held item to the given command +powertoolCommandUsage5=/<command> a:<cmd> +powertoolCommandUsage5Description=Adds the given powertool command to the held item powertooltoggleCommandDescription=Enables or disables all current powertools. powertooltoggleCommandUsage=/<command> ptimeCommandDescription=Adjust player's client time. Add @ prefix to fix. ptimeCommandUsage=/<command> [list|reset|day|night|dawn|17:30|4pm|4000ticks] [player|*] +ptimeCommandUsage1=/<command> list [player|*] +ptimeCommandUsage1Description=Lists the player time for either you or other player(s) if specified +ptimeCommandUsage2=/<command> <time> [player|*] +ptimeCommandUsage2Description=Sets the time for you or other player(s) if specified to the given time +ptimeCommandUsage3=/<command> reset [player|*] +ptimeCommandUsage3Description=Resets the time for you or other player(s) if specified pweatherCommandDescription=Adjust a player's weather pweatherCommandUsage=/<command> [list|reset|storm|sun|clear] [player|*] +pweatherCommandUsage1=/<command> list [player|*] +pweatherCommandUsage1Description=Lists the player weather for either you or other player(s) if specified +pweatherCommandUsage2=/<command> <storm|sun> [player|*] +pweatherCommandUsage2Description=Sets the weather for you or other player(s) if specified to the given weather +pweatherCommandUsage3=/<command> reset [player|*] +pweatherCommandUsage3Description=Resets the weather for you or other player(s) if specified pTimeCurrent=\u00a7c{0}\u00a76''s time is\u00a7c {1}\u00a76. pTimeCurrentFixed=\u00a7c{0}\u00a76''s time is fixed to\u00a7c {1}\u00a76. pTimeNormal=\u00a7c{0}\u00a76''s time is normal and matches the server. @@ -644,16 +885,22 @@ pWeatherSet=\u00a76Player weather is set to \u00a7c{0}\u00a76 for\: \u00a7c{1}. questionFormat=\u00a72[Question]\u00a7r {0} rCommandDescription=Quickly reply to the last player to message you. rCommandUsage=/<command> <message> +rCommandUsage1=/<command> <message> +rCommandUsage1Description=Replies to the last player to message you with the given text radiusTooBig=\u00a74Radius is too big\! Maximum radius is\u00a7c {0}\u00a74. readNextPage=\u00a76Type\u00a7c /{0} {1} \u00a76to read the next page. realName=\u00a7f{0}\u00a7r\u00a76 is \u00a7f{1} realnameCommandDescription=Displays the username of a user based on nick. realnameCommandUsage=/<command> <nickname> +realnameCommandUsage1=/<command> <nickname> +realnameCommandUsage1Description=Displays the username of a user based on the given nickname recentlyForeverAlone=\u00a74{0} recently went offline. recipe=\u00a76Recipe for \u00a7c{0}\u00a76 (\u00a7c{1}\u00a76 of \u00a7c{2}\u00a76) recipeBadIndex=There is no recipe by that number. recipeCommandDescription=Displays how to craft items. recipeCommandUsage=/<command> <item> [number] +recipeCommandUsage1=/<command> <item> [page] +recipeCommandUsage1Description=Displays how to craft the given item recipeFurnace=\u00a76Smelt\: \u00a7c{0}\u00a76. recipeGrid=\u00a7c{0}X \u00a76| \u00a7{1}X \u00a76| \u00a7{2}X recipeGridItem=\u00a7c{0}X \u00a76is \u00a7c{1} @@ -664,11 +911,19 @@ recipeShapeless=\u00a76Combine \u00a7c{0} recipeWhere=\u00a76Where\: {0} removeCommandDescription=Removes entities in your world. removeCommandUsage=/<command> <all|tamed|named|drops|arrows|boats|minecarts|xp|paintings|itemframes|endercrystals|monsters|animals|ambient|mobs|[mobType]> [radius|world] +removeCommandUsage1=/<command> <mob type> [world] +removeCommandUsage1Description=Removes all of the given mob type in the current world or another one if specified +removeCommandUsage2=/<command> <mob type> <radius> [world] +removeCommandUsage2Description=Removes the given mob type within the given radius in the current world or another one if specified removed=\u00a76Removed\u00a7c {0} \u00a76entities. repair=\u00a76You have successfully repaired your\: \u00a7c{0}\u00a76. repairAlreadyFixed=\u00a74This item does not need repairing. repairCommandDescription=Repairs the durability of one or all items. repairCommandUsage=/<command> [hand|all] +repairCommandUsage1=/<command> +repairCommandUsage1Description=Repairs the held item +repairCommandUsage2=/<command> all +repairCommandUsage2Description=Repairs all items in your inventory repairEnchanted=\u00a74You are not allowed to repair enchanted items. repairInvalidType=\u00a74This item cannot be repaired. repairNone=\u00a74There were no items that needed repairing. @@ -690,6 +945,8 @@ resetBalAll=\u00a76Balance has been reset to \u00a7c{0} \u00a76for all players. rest=\u00a76You feel well rested. restCommandDescription=Rests you or the given player. restCommandUsage=/<command> [player] +restCommandUsage1=/<command> [player] +restCommandUsage1Description=Resets the time since rest of you or another player if specified restOther=\u00a76Resting\u00a7c {0}\u00a76. returnPlayerToJailError=\u00a74Error occurred when trying to return player\u00a7c {0} \u00a74to jail\: \u00a7c{1}\u00a74\! rtoggleCommandDescription=Change whether the recipient of the reply is last recipient or last sender @@ -702,11 +959,21 @@ seconds=seconds seenAccounts=\u00a76Player has also been known as\:\u00a7c {0} seenCommandDescription=Shows the last logout time of a player. seenCommandUsage=/<command> <playername> +seenCommandUsage1=/<command> <playername> +seenCommandUsage1Description=Shows the logout time, ban, mute, and UUID information of the specified player seenOffline=\u00a76Player\u00a7c {0} \u00a76has been \u00a74offline\u00a76 since \u00a7c{1}\u00a76. seenOnline=\u00a76Player\u00a7c {0} \u00a76has been \u00a7aonline\u00a76 since \u00a7c{1}\u00a76. sellBulkPermission=\u00a76You do not have permission to bulk sell. sellCommandDescription=Sells the item currently in your hand. -sellCommandUsage=/<command> <<itemname>|<id>|hand|inventory|blocks> [-][amount] +sellCommandUsage=/<command> <<itemname>|<id>|hand|inventory|blocks> [amount] +sellCommandUsage1=/<command> <itemname> [amount] +sellCommandUsage1Description=Sells all (or the given amount, if specified) of the given item in your inventory +sellCommandUsage2=/<command> hand [amount] +sellCommandUsage2Description=Sells all (or the given amount, if specified) of the held item +sellCommandUsage3=/<command> all +sellCommandUsage3Description=Sells all possible items in your inventory +sellCommandUsage4=/<command> blocks [amount] +sellCommandUsage4Description=Sells all (or the given amount, if specified) of blocks in your inventory sellHandPermission=\u00a76You do not have permission to hand sell. serverFull=Server is full\! serverReloading=There's a good chance you're reloading your server right now. If that's the case, why do you hate yourself? Expect no support from the EssentialsX team when using /reload. @@ -722,16 +989,34 @@ setBalOthers=\u00a7aYou set {0}\u00a7a''s balance to {1}. setSpawner=\u00a76Changed spawner type to\u00a7c {0}\u00a76. sethomeCommandDescription=Set your home to your current location. sethomeCommandUsage=/<command> [[player:]name] +sethomeCommandUsage1=/<command> <name> +sethomeCommandUsage1Description=Sets your home with the given name at your location +sethomeCommandUsage2=/<command> <player>:<name> +sethomeCommandUsage2Description=Sets the specified player's home with the given name at your location setjailCommandDescription=Creates a jail where you specified named [jailname]. setjailCommandUsage=/<command> <jailname> +setjailCommandUsage1=/<command> <jailname> +setjailCommandUsage1Description=Sets the jail with the specified name to your location settprCommandDescription=Set the random teleport location and parameters. settprCommandUsage=/<command> [center|minrange|maxrange] [value] +settprCommandUsage1=/<command> center +settprCommandUsage1Description=Sets the random teleport center to your location +settprCommandUsage2=/<command> minrange <radius> +settprCommandUsage2Description=Sets the minimum random teleport radius to the given value +settprCommandUsage3=/<command> maxrange <radius> +settprCommandUsage3Description=Sets the maximum random teleport radius to the given value settpr=\u00a76Set random teleport center. settprValue=\u00a76Set random teleport \u00a7c{0}\u00a76 to \u00a7c{1}\u00a76. setwarpCommandDescription=Creates a new warp. setwarpCommandUsage=/<command> <warp> +setwarpCommandUsage1=/<command> <warp> +setwarpCommandUsage1Description=Sets the warp with the specified name to your location setworthCommandDescription=Set the sell value of an item. setworthCommandUsage=/<command> [itemname|id] <price> +setworthCommandUsage1=/<command> <price> +setworthCommandUsage1Description=Sets the worth of your held item to the given price +setworthCommandUsage2=/<command> <itemname> <price> +setworthCommandUsage2Description=Sets the worth of the specified item to the given price sheepMalformedColor=\u00a74Malformed color. shoutDisabled=\u00a76Shout mode \u00a7cdisabled\u00a76. shoutDisabledFor=\u00a76Shout mode \u00a7cdisabled \u00a76for \u00a7c{0}\u00a76. @@ -741,6 +1026,9 @@ shoutFormat=\u00a76[Shout]\u00a7r {0} editsignCommandClear=\u00a76Sign cleared. editsignCommandClearLine=\u00a76Cleared line\u00a7c {0}\u00a76. showkitCommandDescription=Show contents of a kit. +showkitCommandUsage=/<command> <kitname> +showkitCommandUsage1=/<command> <kitname> +showkitCommandUsage1Description=Displays a summary of the items in the specified kit editsignCommandDescription=Edits a sign in the world. editsignCommandLimit=\u00a74Your provided text is too big to fit on the target sign. editsignCommandNoLine=\u00a74You must enter a line number between \u00a7c1-4\u00a74. @@ -751,7 +1039,14 @@ editsignCopyLine=\u00a76Copied line \u00a7c{0} \u00a76of sign! Paste it with \u0 editsignPaste=\u00a76Sign pasted! editsignPasteLine=\u00a76Pasted line \u00a7c{0} \u00a76of sign! editsignCommandUsage=/<command> <set/clear/copy/paste> [line number] [text] -showkitCommandUsage=/<command> <kitname> +editsignCommandUsage1=/<command> set <line number> <text> +editsignCommandUsage1Description=Sets the specified line of the target sign to the given text +editsignCommandUsage2=/<command> clear <line number> +editsignCommandUsage2Description=Clears the specified line of the target sign +editsignCommandUsage3=/<command> copy [line number] +editsignCommandUsage3Description=Copies the all (or the specified line) of the target sign to your clipboard +editsignCommandUsage4=/<command> paste [line number] +editsignCommandUsage4Description=Pastes your clipboard to the entire (or the specified line) of the target sign signFormatFail=\u00a74[{0}] signFormatSuccess=\u00a71[{0}] signFormatTemplate=[{0}] @@ -763,6 +1058,10 @@ southWest=SW skullChanged=\u00a76Skull changed to \u00a7c{0}\u00a76. skullCommandDescription=Set the owner of a player skull skullCommandUsage=/<command> [owner] +skullCommandUsage1=/<command> +skullCommandUsage1Description=Gets your own skull +skullCommandUsage2=/<command> <player> +skullCommandUsage2Description=Gets the skull of the specified player slimeMalformedSize=\u00a74Malformed size. smithingtableCommandDescription=Opens up a smithing table. smithingtableCommandUsage=/<command> @@ -771,21 +1070,35 @@ socialSpyMsgFormat=\u00a76[\u00a7c{0}\u00a77 -> \u00a7c{1}\u00a76] \u00a77{2} socialSpyMutedPrefix=\u00a7f[\u00a76SS\u00a7f] \u00a77(muted) \u00a7r socialspyCommandDescription=Toggles if you can see msg/mail commands in chat. socialspyCommandUsage=/<command> [player] [on|off] +socialspyCommandUsage1=/<command> [player] +socialspyCommandUsage1Description=Toggles social spy for yourself or another player if specified socialSpyPrefix=\u00a7f[\u00a76SS\u00a7f] \u00a7r soloMob=\u00a74That mob likes to be alone. spawned=spawned spawnerCommandDescription=Change the mob type of a spawner. spawnerCommandUsage=/<command> <mob> [delay] +spawnerCommandUsage1=/<command> <mob> [delay] +spawnerCommandUsage1Description=Changes the mob type (and optionally, the delay) of the spawner you're looking at spawnmobCommandDescription=Spawns a mob. spawnmobCommandUsage=/<command> <mob>[:data][,<mount>[:data]] [amount] [player] +spawnmobCommandUsage1=/<command> <mob>[:data] [amount] [player] +spawnmobCommandUsage1Description=Spawns one (or the specified amount) of the given mob at your location (or another player if specified) +spawnmobCommandUsage2=/<command> <mob>[:data],<mount>[:data] [amount] [player] +spawnmobCommandUsage2Description=Spawns one (or the specified amount) of the given mob riding the given mob at your location (or another player if specified) spawnSet=\u00a76Spawn location set for group\u00a7c {0}\u00a76. spectator=spectator speedCommandDescription=Change your speed limits. speedCommandUsage=/<command> [type] <speed> [player] +speedCommandUsage1=/<command> <speed> +speedCommandUsage1Description=Sets either your fly or walk speed to the given speed +speedCommandUsage2=/<command> <type> <speed> [player] +speedCommandUsage2Description=Sets either the specified type of speed to the given speed for you or another player if specified stonecutterCommandDescription=Opens up a stonecutter. stonecutterCommandUsage=/<command> sudoCommandDescription=Make another user perform a command. sudoCommandUsage=/<command> <player> <command [args]> +sudoCommandUsage1=/<command> <player> <command> [args] +sudoCommandUsage1Description=Makes the specified player run the given command sudoExempt=\u00a74You cannot sudo \u00a7c{0}. sudoRun=\u00a76Forcing\u00a7c {0} \u00a76to run\:\u00a7r /{1} suicideCommandDescription=Causes you to perish. @@ -824,17 +1137,29 @@ tempbanExemptOffline=\u00a74You may not tempban offline players. tempbanJoin=You are banned from this server for {0}. Reason: {1} tempBanned=\u00a7cYou have been temporarily banned for\u00a7r {0}\:\n\u00a7r{2} tempbanCommandDescription=Temporary ban a user. -tempbanCommandUsage=/<command> <playername> <datediff> <reason> +tempbanCommandUsage=/<command> <playername> <datediff> [reason] +tempbanCommandUsage1=/<command> <player> <datediff> [reason] +tempbanCommandUsage1Description=Bans the given player for the specified amount of time with an optional reason tempbanipCommandDescription=Temporarily ban an IP Address. -tempbanipCommandUsage=/<command> <playername> <datediff> <reason> +tempbanipCommandUsage=/<command> <playername> <datediff> [reason] +tempbanipCommandUsage1=/<command> <player|ip-address> <datediff> [reason] +tempbanipCommandUsage1Description=Bans the given IP address for the specified amount of time with an optional reason thunder=\u00a76You\u00a7c {0} \u00a76thunder in your world. thunderCommandDescription=Enable/disable thunder. thunderCommandUsage=/<command> <true/false> [duration] +thunderCommandUsage1=/<command> <true|false> [duration] +thunderCommandUsage1Description=Enables/disables thunder for an optional duration thunderDuration=\u00a76You\u00a7c {0} \u00a76thunder in your world for\u00a7c {1} \u00a76seconds. timeBeforeHeal=\u00a74Time before next heal\:\u00a7c {0}\u00a74. timeBeforeTeleport=\u00a74Time before next teleport\:\u00a7c {0}\u00a74. timeCommandDescription=Display/Change the world time. Defaults to current world. timeCommandUsage=/<command> [set|add] [day|night|dawn|17:30|4pm|4000ticks] [worldname|all] +timeCommandUsage1=/<command> +timeCommandUsage1Description=Displays the times in all worlds +timeCommandUsage2=/<command> set <time> [world|all] +timeCommandUsage2Description=Sets the time in the current (or specified) world to the given time +timeCommandUsage3=/<command> add <time> [world|all] +timeCommandUsage3Description=Adds the given time to the current (or specified) world's time timeFormat=\u00a7c{0}\u00a76 or \u00a7c{1}\u00a76 or \u00a7c{2}\u00a76 timeSetPermission=\u00a74You are not authorized to set the time. timeSetWorldPermission=\u00a74You are not authorized to set the time in world ''{0}''. @@ -846,6 +1171,8 @@ togglejailCommandDescription=Jails/Unjails a player, TPs them to the jail specif togglejailCommandUsage=/<command> <player> <jailname> [datediff] toggleshoutCommandDescription=Toggles whether you are talking in shout mode toggleshoutCommandUsage=/<command> [player] [on|off] +toggleshoutCommandUsage1=/<command> [player] +toggleshoutCommandUsage1Description=Toggles shout mode for yourself or another player if specified topCommandDescription=Teleport to the highest block at your current position. topCommandUsage=/<command> totalSellableAll=\u00a7aThe total worth of all sellable items and blocks is \u00a7c{1}\u00a7a. @@ -854,42 +1181,82 @@ totalWorthAll=\u00a7aSold all items and blocks for a total worth of \u00a7c{1}\u totalWorthBlocks=\u00a7aSold all blocks for a total worth of \u00a7c{1}\u00a7a. tpCommandDescription=Teleport to a player. tpCommandUsage=/<command> <player> [otherplayer] +tpCommandUsage1=/<command> <player> +tpCommandUsage1Description=Teleports you to the specified player +tpCommandUsage2=/<command> <player> <other player> +tpCommandUsage2Description=Teleports the first specified player to the second tpaCommandDescription=Request to teleport to the specified player. tpaCommandUsage=/<command> <player> +tpaCommandUsage1=/<command> <player> +tpaCommandUsage1Description=Requests to teleport to the specified player tpaallCommandDescription=Requests all players online to teleport to you. tpaallCommandUsage=/<command> <player> +tpaallCommandUsage1=/<command> <player> +tpaallCommandUsage1Description=Requests for all players to teleport to you tpacancelCommandDescription=Cancel all outstanding teleport requests. Specify [player] to cancel requests with them. tpacancelCommandUsage=/<command> [player] +tpacancelCommandUsage1=/<command> +tpacancelCommandUsage1Description=Cancels all your outstanding teleport requests +tpacancelCommandUsage2=/<command> <player> +tpacancelCommandUsage2Description=Cancels all your outstanding teleport request with the specified player tpacceptCommandDescription=Accepts a teleport request. tpacceptCommandUsage=/<command> [otherplayer] +tpacceptCommandUsage1=/<command> +tpacceptCommandUsage1Description=Accepts an incoming teleport request tpahereCommandDescription=Request that the specified player teleport to you. tpahereCommandUsage=/<command> <player> +tpahereCommandUsage1=/<command> <player> +tpahereCommandUsage1Description=Requests for the specified player to teleport to you tpallCommandDescription=Teleport all online players to another player. -tpallCommandUsage=/<command> <player> +tpallCommandUsage=/<command> [player] +tpallCommandUsage1=/<command> [player] +tpallCommandUsage1Description=Teleports all players to you, or another player if specified tpautoCommandDescription=Automatically accept teleportation requests. -tpautoCommandUsage=/<command> <player> +tpautoCommandUsage=/<command> [player] +tpautoCommandUsage1=/<command> [player] +tpautoCommandUsage1Description=Toggles if tpa requests are auto accepted for yourself or another player if specified tpdenyCommandDescription=Reject a teleport request. tpdenyCommandUsage=/<command> +tpdenyCommandUsage1=/<command> +tpdenyCommandUsage1Description=Rejects an incoming teleport request tphereCommandDescription=Teleport a player to you. tphereCommandUsage=/<command> <player> +tphereCommandUsage1=/<command> <player> +tphereCommandUsage1Description=Teleports the specified player to you tpoCommandDescription=Teleport override for tptoggle. tpoCommandUsage=/<command> <player> [otherplayer] +tpoCommandUsage1=/<command> <player> +tpoCommandUsage1Description=Teleports the specified player to you whilst overriding their preferences +tpoCommandUsage2=/<command> <player> <other player> +tpoCommandUsage2Description=Teleports the first specified player to the second whilst overriding their preferences tpofflineCommandDescription=Teleport to a player's last known logout location tpofflineCommandUsage=/<command> <player> +tpofflineCommandUsage1=/<command> <player> +tpofflineCommandUsage1Description=Teleports you to the specified player's logout location tpohereCommandDescription=Teleport here override for tptoggle. tpohereCommandUsage=/<command> <player> +tpohereCommandUsage1=/<command> <player> +tpohereCommandUsage1Description=Teleports the specified player to you whilst overriding their preferences tpposCommandDescription=Teleport to coordinates. tpposCommandUsage=/<command> <x> <y> <z> [yaw] [pitch] [world] +tpposCommandUsage1=/<command> <x> <y> <z> [yaw] [pitch] [world] +tpposCommandUsage1Description=Teleports you to the specified location at an optional yaw, pitch, and/or world tprCommandDescription=Teleport randomly. tprCommandUsage=/<command> +tprCommandUsage1=/<command> +tprCommandUsage1Description=Teleports you to a random location tprSuccess=\u00a76Teleporting to a random location... tps=\u00a76Current TPS \= {0} tptoggleCommandDescription=Blocks all forms of teleportation. tptoggleCommandUsage=/<command> [player] [on|off] +tptoggleCommandUsage1=/<command> [player] +tptoggleCommandUsageDescription=Toggles if teleports are enabled for yourself or another player if specified tradeSignEmpty=\u00a74The trade sign has nothing available for you. tradeSignEmptyOwner=\u00a74There is nothing to collect from this trade sign. treeCommandDescription=Spawn a tree where you are looking. treeCommandUsage=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp> +treeCommandUsage1=/<command> <tree|birch|redwood|redmushroom|brownmushroom|jungle|junglebush|swamp> +treeCommandUsage1Description=Spawns a tree of the specified type where you're looking treeFailure=\u00a74Tree generation failure. Try again on grass or dirt. treeSpawned=\u00a76Tree spawned. true=\u00a7atrue\u00a7r @@ -901,14 +1268,24 @@ unableToSpawnItem=\u00a74Cannot spawn \u00a7c{0}\u00a74; this is not a spawnable unableToSpawnMob=\u00a74Unable to spawn mob. unbanCommandDescription=Unbans the specified player. unbanCommandUsage=/<command> <player> +unbanCommandUsage1=/<command> <player> +unbanCommandUsage1Description=Unbans the specified player unbanipCommandDescription=Unbans the specified IP address. unbanipCommandUsage=/<command> <address> +unbanipCommandUsage1=/<command> <address> +unbanipCommandUsage1Description=Unbans the specified IP address unignorePlayer=\u00a76You are not ignoring player\u00a7c {0} \u00a76anymore. unknownItemId=\u00a74Unknown item id\:\u00a7r {0}\u00a74. unknownItemInList=\u00a74Unknown item {0} in {1} list. unknownItemName=\u00a74Unknown item name\: {0}. unlimitedCommandDescription=Allows the unlimited placing of items. unlimitedCommandUsage=/<command> <list|item|clear> [player] +unlimitedCommandUsage1=/<command> list [player] +unlimitedCommandUsage1Description=Displays a list of unlimited items for yourself or another player if specified +unlimitedCommandUsage2=/<command> <item> [player] +unlimitedCommandUsage2Description=Toggles if the given item is unlimited for yourself or another player if specified +unlimitedCommandUsage3=/<command> clear [player] +unlimitedCommandUsage3Description=Clears all unlimited items for yourself or another player if specified unlimitedItemPermission=\u00a74No permission for unlimited item \u00a7c{0}\u00a74. unlimitedItems=\u00a76Unlimited items\:\u00a7r unmutedPlayer=\u00a76Player\u00a7c {0} \u00a76unmuted. @@ -936,6 +1313,8 @@ usingTempFolderForTesting=Using temp folder for testing\: vanish=\u00a76Vanish for {0}\u00a76\: {1} vanishCommandDescription=Hide yourself from other players. vanishCommandUsage=/<command> [player] [on|off] +vanishCommandUsage1=/<command> [player] +vanishCommandUsage1Description=Toggles vanish for yourself or another player if specified vanished=\u00a76You are now completely invisible to normal users, and hidden from in-game commands. versionCheckDisabled=\u00a76Update checking disabled in config. versionCustom=\u00a76Unable to check your version! Self-built? Build information: \u00a7c{0}\u00a76. @@ -964,10 +1343,16 @@ voiceSilencedReasonTime=\u00a76Your voice has been silenced for {0}\! Reason: \u walking=walking warpCommandDescription=List all warps or warp to the specified location. warpCommandUsage=/<command> <pagenumber|warp> [player] +warpCommandUsage1=/<command> [page] +warpCommandUsage1Description=Gives a list of all warps on either the first or specified page +warpCommandUsage2=/<command> <warp> [player] +warpCommandUsage2Description=Teleports you or a specified player to the given warp warpDeleteError=\u00a74Problem deleting the warp file. warpInfo=\u00a76Information for warp\u00a7c {0}\u00a76: warpinfoCommandDescription=Finds location information for a specified warp. warpinfoCommandUsage=/<command> <warp> +warpinfoCommandUsage1=/<command> <warp> +warpinfoCommandUsage1Description=Provides information about the given warp warpingTo=\u00a76Warping to\u00a7c {0}\u00a76. warpList={0} warpListPermission=\u00a74You do not have permission to list warps. @@ -977,6 +1362,8 @@ warps=\u00a76Warps\:\u00a7r {0} warpsCount=\u00a76There are\u00a7c {0} \u00a76warps. Showing page \u00a7c{1} \u00a76of \u00a7c{2}\u00a76. weatherCommandDescription=Sets the weather. weatherCommandUsage=/<command> <storm/sun> [duration] +weatherCommandUsage1=/<command> <storm|sun> [duration] +weatherCommandUsage1Description=Sets the weather to the given type for an optional duration warpSet=\u00a76Warp\u00a7c {0} \u00a76set. warpUsePermission=\u00a74You do not have permission to use that warp. weatherInvalidWorld=World named {0} not found\! @@ -992,6 +1379,8 @@ whoisAFKSince=\u00a76 - AFK\:\u00a7r {0} (Since {1}) whoisBanned=\u00a76 - Banned\:\u00a7r {0} whoisCommandDescription=Determine the username behind a nickname. whoisCommandUsage=/<command> <nickname> +whoisCommandUsage1=/<command> <player> +whoisCommandUsage1Description=Gives basic information about the specified player whoisExp=\u00a76 - Exp\:\u00a7r {0} (Level {1}) whoisFly=\u00a76 - Fly mode\:\u00a7r {0} ({1}) whoisSpeed=\u00a76 - Speed\:\u00a7r {0} @@ -1016,9 +1405,21 @@ workbenchCommandDescription=Opens up a workbench. workbenchCommandUsage=/<command> worldCommandDescription=Switch between worlds. worldCommandUsage=/<command> [world] +worldCommandUsage1=/<command> +worldCommandUsage1Description=Teleports to your corresponding location in the nether or overworld +worldCommandUsage2=/<command> <world> +worldCommandUsage2Description=Teleports to your location in the given world worth=\u00a7aStack of {0} worth \u00a7c{1}\u00a7a ({2} item(s) at {3} each) worthCommandDescription=Calculates the worth of items in hand or as specified. worthCommandUsage=/<command> <<itemname>|<id>|hand|inventory|blocks> [-][amount] +worthCommandUsage1=/<command> <itemname> [amount] +worthCommandUsage1Description=Checks the worth of all (or the given amount, if specified) of the given item in your inventory +worthCommandUsage2=/<command> hand [amount] +worthCommandUsage2Description=Checks the worth of all (or the given amount, if specified) of the held item +worthCommandUsage3=/<command> all +worthCommandUsage3Description=Checks the worth of all possible items in your inventory +worthCommandUsage4=/<command> blocks [amount] +worthCommandUsage4Description=Checks the worth of all (or the given amount, if specified) of blocks in your inventory worthMeta=\u00a7aStack of {0} with metadata of {1} worth \u00a7c{2}\u00a7a ({3} item(s) at {4} each) worthSet=\u00a76Worth value set year=year diff --git a/Essentials/src/main/resources/plugin.yml b/Essentials/src/main/resources/plugin.yml index cc535b8ce..abe569bcd 100644 --- a/Essentials/src/main/resources/plugin.yml +++ b/Essentials/src/main/resources/plugin.yml @@ -35,7 +35,7 @@ commands: aliases: [bal,ebal,ebalance,money,emoney] balancetop: description: Gets the top balance values. - usage: /<command> <page> + usage: /<command> [page] aliases: [ebalancetop,baltop,ebaltop] ban: description: Bans a player. @@ -43,7 +43,7 @@ commands: aliases: [eban] banip: description: Bans an IP address. - usage: /<command> <address> + usage: /<command> <address> [reason] aliases: [ebanip] beezooka: description: Throw an exploding bee at your opponent. @@ -87,7 +87,7 @@ commands: aliases: [eclearinventoryconfirmtoggle, clearinventoryconfirmoff, eclearinventoryconfirmoff, clearconfirmoff, eclearconfirmoff, clearconfirmon, eclearconfirmon, clearconfirm, eclearconfirm] condense: description: Condenses items into a more compact blocks. - usage: /<command> [<itemname>|<id>|hand|inventory] + usage: /<command> [itemname] aliases: [econdense,compact,ecompact,blocks,eblocks,toblocks,etoblocks] compass: description: Describes your current bearing. @@ -170,7 +170,7 @@ commands: aliases: [adventure,eadventure,adventuremode,eadventuremode,creative,ecreative,eecreative,creativemode,ecreativemode,egamemode,gm,egm,gma,egma,gmc,egmc,gms,egms,gmt,egmt,survival,esurvival,survivalmode,esurvivalmode,gmsp,sp,egmsp,spec,spectator] gc: description: Reports memory, uptime and tick info. - usage: /<command> [all] + usage: /<command> aliases: [lag,elag,egc,mem,emem,memory,ememory,uptime,euptime,tps,etps,entities,eentities] getpos: description: Get your current coordinates or those of a player. @@ -330,7 +330,7 @@ commands: aliases: [epay] paytoggle: description: Toggles whether you are accepting payments. - usage: /<command> + usage: /<command> [player] aliases: [epaytoggle, payoff, epayoff, payon, epayon] payconfirmtoggle: description: Toggles whether you are prompted to confirm payments. @@ -398,7 +398,7 @@ commands: aliases: [eseen, ealts, alts] sell: description: Sells the item currently in your hand. - usage: /<command> <<itemname>|<id>|hand|inventory|blocks> [-][amount] + usage: /<command> <<itemname>|<id>|hand|inventory|blocks> [amount] aliases: [esell] sethome: description: Set your home to your current location. @@ -466,11 +466,11 @@ commands: aliases: [esuicide] tempban: description: Temporary ban a user. - usage: /<command> <playername> <datediff> <reason> + usage: /<command> <playername> <datediff> [reason] aliases: [etempban] tempbanip: description: Temporarily ban an IP Address. - usage: /<command> <playername> <datediff> <reason> + usage: /<command> <playername> <datediff> [reason] aliases: [etempbanip] thunder: description: Enable/disable thunder. @@ -510,11 +510,11 @@ commands: aliases: [etpahere] tpall: description: Teleport all online players to another player. - usage: /<command> <player> + usage: /<command> [player] aliases: [etpall] tpauto: description: Automatically accept teleportation requests. - usage: /<command> <player> + usage: /<command> [player] aliases: [etpauto] tpacancel: description: Cancel all outstanding teleport requests. Specify [player] to cancel requests with them.