diff --git a/Essentials/src/com/earth2me/essentials/ISettings.java b/Essentials/src/com/earth2me/essentials/ISettings.java index f72969f5b..be75ef50d 100644 --- a/Essentials/src/com/earth2me/essentials/ISettings.java +++ b/Essentials/src/com/earth2me/essentials/ISettings.java @@ -76,8 +76,6 @@ public interface ISettings extends IConf int getHomeLimit(User user); - boolean getSortListByGroups(); - int getSpawnMobLimit(); int getStartingBalance(); @@ -191,4 +189,6 @@ public interface ISettings extends IConf public void setEssentialsChatActive(boolean b); long getMaxTempban(); + + public Map getListGroupConfig(); } diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java index a24f3d807..059da4e65 100644 --- a/Essentials/src/com/earth2me/essentials/Settings.java +++ b/Essentials/src/com/earth2me/essentials/Settings.java @@ -258,6 +258,7 @@ public class Settings implements ISettings return socialspyCommands; } + @Override public Set getSocialSpyCommands() { return socialSpyCommands; @@ -452,11 +453,17 @@ public class Settings implements ISettings { return config.getBoolean("per-warp-permission", false); } - + @Override - public boolean getSortListByGroups() + public Map getListGroupConfig() { - return config.getBoolean("sort-list-by-groups", true); + if (config.isConfigurationSection("list")) + { + return config.getConfigurationSection("list").getValues(false); + } + Map defaultMap = new HashMap(); + defaultMap.put("User", "*"); + return defaultMap; } @Override diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandlist.java b/Essentials/src/com/earth2me/essentials/commands/Commandlist.java index c981f45c1..84c33a458 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandlist.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandlist.java @@ -19,18 +19,27 @@ public class Commandlist extends EssentialsCommand @Override public void run(final Server server, final CommandSender sender, final String commandLabel, final String[] args) throws Exception { - boolean showhidden = false; + boolean showHidden = true; if (sender instanceof Player) { - if (ess.getUser(sender).isAuthorized("essentials.list.hidden")) - { - showhidden = true; - } + showHidden = ess.getUser(sender).isAuthorized("essentials.list.hidden"); + } + + sender.sendMessage(listSummary(server, showHidden)); + Map> playerList = getPlayerLists(server, showHidden); + + if (args.length > 0) + { + sender.sendMessage(listGroupUsers(server, playerList, args[0].toLowerCase())); } else { - showhidden = true; + sendGroupedList(server, sender, commandLabel, playerList); } + } + + private String listSummary(Server server, boolean showHidden) + { int playerHidden = 0; for (Player onlinePlayer : server.getOnlinePlayers()) { @@ -41,7 +50,7 @@ public class Commandlist extends EssentialsCommand } String online; - if (showhidden && playerHidden > 0) + if (showHidden && playerHidden > 0) { online = _("listAmountHidden", server.getOnlinePlayers().length - playerHidden, playerHidden, server.getMaxPlayers()); } @@ -49,101 +58,242 @@ public class Commandlist extends EssentialsCommand { online = _("listAmount", server.getOnlinePlayers().length - playerHidden, server.getMaxPlayers()); } - sender.sendMessage(online); + return online; + } - if (ess.getSettings().getSortListByGroups()) + private Map> getPlayerLists(Server server, boolean showHidden) + { + Map> playerList = new HashMap>(); + for (Player onlinePlayer : server.getOnlinePlayers()) { - Map> sort = new HashMap>(); - for (Player OnlinePlayer : server.getOnlinePlayers()) + final User onlineUser = ess.getUser(onlinePlayer); + if (onlineUser.isHidden() && !showHidden) { - final User player = ess.getUser(OnlinePlayer); - if (player.isHidden() && !showhidden) - { - continue; - } - final String group = player.getGroup(); - List list = sort.get(group); - if (list == null) - { - list = new ArrayList(); - sort.put(group, list); - } - list.add(player); + continue; } - final String[] groups = sort.keySet().toArray(new String[0]); - Arrays.sort(groups, String.CASE_INSENSITIVE_ORDER); - for (String group : groups) + final String group = onlineUser.getGroup().toLowerCase(); + List list = playerList.get(group); + if (list == null) { - final StringBuilder groupString = new StringBuilder(); - groupString.append(_("listGroupTag", Util.replaceFormat(group))); - final List users = sort.get(group); - Collections.sort(users); - boolean first = true; - for (User user : users) + list = new ArrayList(); + playerList.put(group, list); + } + list.add(onlineUser); + } + return playerList; + } + + private String listGroupUsers(Server server, Map> playerList, String groupName) throws Exception + { + final StringBuilder outputString = new StringBuilder(); + Set configGroups = ess.getSettings().getListGroupConfig().keySet(); + final List users = new ArrayList(); + + for (String key : configGroups) + { + String groupValue = ess.getSettings().getListGroupConfig().get(key).toString().trim(); + if (key.equalsIgnoreCase(groupName) && groupValue.contains(",")) + { + String[] groups = groupValue.split(","); + for (String g : groups) { - if (!first) + if (g == null || g.equals("")) { - groupString.append(", "); + continue; } - else + List u = playerList.get(g.trim()); + if (u == null || u.isEmpty()) { - first = false; + continue; } - if (user.isAfk()) - { - groupString.append(_("listAfkTag")); - } - if (user.isHidden()) - { - groupString.append(_("listHiddenTag")); - } - user.setDisplayNick(); - groupString.append(user.getDisplayName()); - groupString.append("§f"); + users.addAll(u); } - sender.sendMessage(groupString.toString()); } } - else + List groupUsers = playerList.get(groupName); + if (groupUsers != null && !groupUsers.isEmpty()) { - final List users = new ArrayList(); - for (Player OnlinePlayer : server.getOnlinePlayers()) - { - final User player = ess.getUser(OnlinePlayer); - if (player.isHidden() && !showhidden) - { - continue; - } - users.add(player); - } - Collections.sort(users); + users.addAll(groupUsers); + } + if (users == null || users.isEmpty()) + { + throw new Exception(_("groupDoesNotExist")); + } + outputString.append(_("listGroupTag", Util.replaceFormat(groupName))); + outputString.append(listUsers(users)); + outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0))); + return outputString.toString(); + } - final StringBuilder onlineUsers = new StringBuilder(); - onlineUsers.append(_("connectedPlayers")); - boolean first = true; - for (User user : users) + private void sendGroupedList(Server server, CommandSender sender, String commandLabel, Map> playerList) + { + final StringBuilder outputString = new StringBuilder(); + Set configGroups = ess.getSettings().getListGroupConfig().keySet(); + List usedGroups = new ArrayList(); + List asterisk = new ArrayList(); + + for (String group : configGroups) + { + String groupValue = ess.getSettings().getListGroupConfig().get(group).toString().trim(); + group = group.toLowerCase(); + + // If the group value is an asterisk, then skip it, and handle it later + if (groupValue.equals("*")) { - if (!first) + asterisk.add(group); + continue; + } + + usedGroups.add(group); + + // If the group value is hidden, we don't need to display it + if (groupValue.equals("hidden")) + { + continue; + } + + final List users = new ArrayList(); + List u = playerList.get(group); + + // If the group value is an int, then we might need to truncate it + if (Util.isInt(groupValue)) + { + if (u != null && !u.isEmpty()) { - onlineUsers.append(", "); + users.addAll(u); + int limit = Integer.parseInt(groupValue); + if (u.size() > limit) + { + outputString.append(_("listGroupTag", Util.replaceFormat(group))); + outputString.append(_("groupNumber", u.size(), commandLabel, group)); + outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0))); + sender.sendMessage(outputString.toString()); + outputString.setLength(0); + continue; + } + } + + } + + // If the group value is a list, we need to merge groups together. + if (groupValue.contains(",") || playerList.containsKey(groupValue.toLowerCase())) + { + if (playerList.containsKey(groupValue)) + { + u = playerList.get(groupValue); + if (u == null || u.isEmpty()) + { + continue; + } + users.addAll(u); } else { - first = false; + String[] groups = groupValue.split(","); + for (String g : groups) + { + g = g.trim().toLowerCase(); + if (g == null || g.equals("")) + { + continue; + } + u = playerList.get(g); + if (u == null || u.isEmpty()) + { + continue; + } + users.addAll(u); + } } - if (user.isAfk()) - { - onlineUsers.append(_("listAfkTag")); - } - if (user.isHidden()) - { - onlineUsers.append(_("listHiddenTag")); - } - user.setDisplayNick(); - onlineUsers.append(user.getDisplayName()); - onlineUsers.append("§f"); } - sender.sendMessage(onlineUsers.toString()); + + // If we have no users, than we don't need to continue parsing this group + if (users == null || users.isEmpty()) + { + continue; + } + + outputString.append(_("listGroupTag", Util.replaceFormat(group))); + outputString.append(listUsers(users)); + outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0))); + sender.sendMessage(outputString.toString()); + outputString.setLength(0); + } + + String[] onlineGroups = playerList.keySet().toArray(new String[0]); + Arrays.sort(onlineGroups, String.CASE_INSENSITIVE_ORDER); + + + if (!asterisk.isEmpty()) + { + List asteriskUsers = new ArrayList(); + + for (String group : onlineGroups) + { + group = group.toLowerCase().trim(); + if (usedGroups.contains(group)) + { + continue; + } + asteriskUsers.addAll(playerList.get(group)); + } + for (String key : asterisk) + { + playerList.put(key, asteriskUsers); + } + onlineGroups = asterisk.toArray(new String[0]); + } + + for (String group : onlineGroups) + { + group = group.toLowerCase().trim(); + if (usedGroups.contains(group)) + { + continue; + } + + List users = playerList.get(group); + + if (ess.getPermissionsHandler().getName().equals("ConfigPermissions")) + { + group = _("connectedPlayers"); + } + + outputString.append(_("listGroupTag", Util.replaceFormat(group))); + outputString.append(listUsers(users)); + outputString.setCharAt(0, Character.toTitleCase(outputString.charAt(0))); + sender.sendMessage(outputString.toString()); + outputString.setLength(0); } } + + private String listUsers(List users) + { + final StringBuilder groupString = new StringBuilder(); + Collections.sort(users); + boolean first = true; + for (User user : users) + { + if (!first) + { + groupString.append(", "); + } + else + { + first = false; + } + if (user.isAfk()) + { + groupString.append(_("listAfkTag")); + } + if (user.isHidden()) + { + groupString.append(_("listHiddenTag")); + } + user.setDisplayNick(); + groupString.append(user.getDisplayName()); + groupString.append("§f"); + } + return groupString.toString(); + } } diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpotion.java b/Essentials/src/com/earth2me/essentials/commands/Commandpotion.java index 257509d4f..1e0937e6f 100644 --- a/Essentials/src/com/earth2me/essentials/commands/Commandpotion.java +++ b/Essentials/src/com/earth2me/essentials/commands/Commandpotion.java @@ -42,11 +42,6 @@ public class Commandpotion extends EssentialsCommand } throw new NotEnoughArgumentsException(_("potions", Util.joinList(potionslist.toArray()))); } - - if (args.length < 3) - { - throw new NotEnoughArgumentsException(); - } if (stack.getType() == Material.POTION) { @@ -60,11 +55,15 @@ public class Commandpotion extends EssentialsCommand } else if (args[0].equalsIgnoreCase("apply") && user.isAuthorized("essentials.potion.apply")) { - for(PotionEffect effect : pmeta.getCustomEffects()) + for (PotionEffect effect : pmeta.getCustomEffects()) { effect.apply(user); } } + else if (args.length < 3) + { + throw new NotEnoughArgumentsException(); + } else { final MetaItemStack mStack = new MetaItemStack(stack); diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml index 6b31ae275..15db4819a 100644 --- a/Essentials/src/config.yml +++ b/Essentials/src/config.yml @@ -285,8 +285,19 @@ backup: per-warp-permission: false # Sort output of /list command by groups. -sort-list-by-groups: false - +# You can hide and merge the groups displayed in /list by defining the desired behaviour here. +# Detailed instructions and examples can be found on the wiki: http://wiki.ess3.net/wiki/List +list: + # To merge groups, list the groups you wish to merge + #Staff: owner, admin, moderators + Admins: owner, admin + # To limit groups, set a max user limit + #builder: 20 + # To hide groups, set the group as hidden + #default: hidden + # Uncomment the line below to simply list all players with no grouping + #Players: '*' + # More output to the console. debug: false diff --git a/Essentials/src/items.csv b/Essentials/src/items.csv index caf1e1169..6a7268aee 100644 --- a/Essentials/src/items.csv +++ b/Essentials/src/items.csv @@ -602,24 +602,34 @@ nblock,25,0 mblock,25,0 bedblock,26,0 poweredtrack,27,0 +poweredrails,27,0 poweredrail,27,0 boostertrack,27,0 +boosterrails,27,0 boosterrail,27,0 powertrack,27,0 +powerrails,27,0 powerrail,27,0 boosttrack,27,0 +boostrails,27,0 boostrail,27,0 ptrack,27,0 +prails,27,0 prail,27,0 btrack,27,0 +brails,27,0 brail,27,0 detectortrack,28,0 +detectorrails,28,0 detectorrail,28,0 detectingtrack,28,0 +detectingrails,28,0 detectingrail,28,0 detecttrack,28,0 +detectrails,28,0 detectrail,28,0 dtrack,28,0 +drails,28,0 drail,28,0 stickypistonbase,29,7 stickypiston,29,7 @@ -1718,12 +1728,16 @@ wooddoorblock,64,0 wdoorblock,64,0 ladder,65,0 minecarttrack,66,0 +minecartrails,66,0 minecartrail,66,0 mcarttrack,66,0 +mcartrails,66,0 mcartrail,66,0 mctrack,66,0 +mcrails,66,0 mcrail,66,0 track,66,0 +rails,66,0 rail,66,0 cobblestonestairs,67,0 cstonestairs,67,0 @@ -3697,6 +3711,11 @@ quartzstairs,156,0 qstairs,156,0 quartzstair,156,0 qstair,156,0 +activatorrails,157,0 +activaterails,157,0 +triggerrails,157,0 +arails,157,0 +trails,157,0 activatorrail,157,0 activaterail,157,0 triggerrail,157,0 diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties index d9a96bf91..6f9648966 100644 --- a/Essentials/src/messages.properties +++ b/Essentials/src/messages.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a74Command {0} is improperly loaded. compassBearing=\u00a76Bearing: {0} ({1} degrees). configFileMoveError=Failed to move config.yml to backup location. configFileRenameError=Failed to rename temp file to config.yml. -connectedPlayers=\u00a76Connected players:\u00a7r +connectedPlayers=\u00a76Connected players\u00a7r connectionFailed=Failed to open connection. cooldownWithMessage=\u00a74Cooldown: {0} corruptNodeInConfig=\u00a74Notice: Your configuration file has a corrupt {0} node. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=\u00a74disabled\u00a76 for\u00a7c {0}. godEnabledFor=\u00a7aenabled\u00a76 for\u00a7c {0}. godMode=\u00a76God mode\u00a7c {0}\u00a76. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a74You cannot use this item as a hat! hatEmpty=\u00a74You are not wearing a hat. hatFail=\u00a74You must have something to wear in your hand. diff --git a/Essentials/src/messages_cs.properties b/Essentials/src/messages_cs.properties index 0876a19c4..64e24ef7c 100644 --- a/Essentials/src/messages_cs.properties +++ b/Essentials/src/messages_cs.properties @@ -58,7 +58,7 @@ commandNotLoaded=\u00a7cPrikaz {0} je nespravne nacteny. compassBearing=\u00a77Zmena orientace: {0} ({1} stupnu). configFileMoveError=Chyba pri presouvani config.yml do slozky se zalohou. configFileRenameError=Chyba pri pokusu o prejmenovani docasneho souboru na config.yml -connectedPlayers=Pripojeni hraci: +connectedPlayers=\u00a77Pripojeni hraci\u00a7r connectionFailed=Pokus o otevreni spojeni selhal. cooldownWithMessage=\u00a7cOdpocet: {0} corruptNodeInConfig=\u00a74Pozor: Vas konfiguracni soubor ma chybnou {0} poznamku. @@ -138,6 +138,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=zakazan pro {0} godEnabledFor=povolen pro {0} godMode=\u00a77God mode {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cError, you cannot use this item as a hat! hatEmpty=\u00a7cYou are not wearing a hat. hatFail=\u00a7cYou must have something to wear in your hand. diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties index 99ab37172..96a4bacd7 100644 --- a/Essentials/src/messages_da.properties +++ b/Essentials/src/messages_da.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cKommando {0} er ikke indl\u00e6st korrekt. compassBearing=\u00a77B\u00e6rer: {0} ({1} grader). (Oversat korrekt?) configFileMoveError=Kunne ikke flytte config.yml til backup placering. configFileRenameError=Kunne ikke omd\u00f8be temp fil til config.yml -connectedPlayers=Tilsluttede spillere: +connectedPlayers=\u00a77Tilsluttede spillere\u00a7r connectionFailed=Kunne ikke \u00e5bne forbindelse. cooldownWithMessage=\u00a7cCooldown: {0} corruptNodeInConfig=\u00a74Notits: Din konfigurationsfil har en korrupt {0} linje. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=deaktiveret for {0} godEnabledFor=aktiveret for {0} godMode=\u00a77Gud mode {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cError, you cannot use this item as a hat! hatEmpty=\u00a7cYou are not wearing a hat. hatFail=\u00a7cYou must have something to wear in your hand. diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties index f2f0f454f..51e0ed7d2 100644 --- a/Essentials/src/messages_de.properties +++ b/Essentials/src/messages_de.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cBefehl {0} ist nicht richtig geladen. compassBearing=\u00a77Peilung: {0} ({1} Grad). configFileMoveError=Verschieben von config.yml in den Sicherheitskopien-Ordner gescheitert. configFileRenameError=Verschieben einer tempor\u00e4ren Datei nach config.yml gescheitert. -connectedPlayers=Verbundene Spieler: +connectedPlayers=\u00a77Verbundene Spieler\u00a77 connectionFailed=Fehler beim Verbindungsaufbau. cooldownWithMessage=\u00a7cBeschr\u00e4nkung: {0} corruptNodeInConfig=\u00a74Hinweis: Deine Konfigurationsdatei hat einen ung\u00fcltigen Knoten {0}. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=deaktiviert f\u00fcr {0} godEnabledFor=aktiviert f\u00fcr {0} godMode=\u00a77Unsterblichkeit {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cError, you cannot use this item as a hat! hatEmpty=\u00a7cSie tragen keinen Hut. hatFail=\u00a7cYou must have something to wear in your hand. diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties index d9a96bf91..6f9648966 100644 --- a/Essentials/src/messages_en.properties +++ b/Essentials/src/messages_en.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a74Command {0} is improperly loaded. compassBearing=\u00a76Bearing: {0} ({1} degrees). configFileMoveError=Failed to move config.yml to backup location. configFileRenameError=Failed to rename temp file to config.yml. -connectedPlayers=\u00a76Connected players:\u00a7r +connectedPlayers=\u00a76Connected players\u00a7r connectionFailed=Failed to open connection. cooldownWithMessage=\u00a74Cooldown: {0} corruptNodeInConfig=\u00a74Notice: Your configuration file has a corrupt {0} node. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=\u00a74disabled\u00a76 for\u00a7c {0}. godEnabledFor=\u00a7aenabled\u00a76 for\u00a7c {0}. godMode=\u00a76God mode\u00a7c {0}\u00a76. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a74You cannot use this item as a hat! hatEmpty=\u00a74You are not wearing a hat. hatFail=\u00a74You must have something to wear in your hand. diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties index 398704ed9..31bb0393a 100644 --- a/Essentials/src/messages_es.properties +++ b/Essentials/src/messages_es.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cComando {0} esta cargado incorrectamente. compassBearing=\u00a77Bearing: {0} ({1} grados). configFileMoveError=Error al mover config.yml para hacer una copia de seguridad de la localizacion. configFileRenameError=Error al renombrar archivo temp a config.yml. -connectedPlayers=Jugadores conectados: +connectedPlayers=\u00a77Jugadores conectados\u00a7r connectionFailed=Error al abrir conexion. cooldownWithMessage=\u00a7cTiempo restante: {0} corruptNodeInConfig=\u00a74Notice: Tu archivo de configuracion tiene un nodo {0} incorrecto. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Se a dado\u00a7c {0} \u00a76de\u00a7c {1} a\u00a7c {2}\u00a76. godDisabledFor=desactivado para {0} godEnabledFor=activado para {0} godMode=\u00a77Modo de dios {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cNo puedes usar este item como sombrero! hatEmpty=\u00a7cNo estas usando un sombrero. hatFail=\u00a7cDebes tener un item en tu mano para usarlo de sombrero. diff --git a/Essentials/src/messages_fi.properties b/Essentials/src/messages_fi.properties index dbe35b5a2..46a5b74f9 100644 --- a/Essentials/src/messages_fi.properties +++ b/Essentials/src/messages_fi.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cKomento {0} on v\u00e4\u00e4rin ladattu. compassBearing=\u00a77Osoittaa: {0} ({1} astetta). configFileMoveError=Virhe siirrett\u00e4ess\u00e4 tiedostoa config.yml varmuuskopio sijaintiin. configFileRenameError=Virhe nimett\u00e4ess\u00e4 tiedostoa temp tiedostoon config.yml -connectedPlayers=Liittyneet pelaajat: +connectedPlayers=\u00a77Liittyneet pelaajat\u00a77r connectionFailed=Virhe avattaessa yhteytt\u00e4. cooldownWithMessage=\u00a7cJ\u00e4\u00e4htyminen: {0} corruptNodeInConfig=\u00a74Huom: Sinun konfigurointi tiedostossa on virhe {0}. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=poistettu pelaajalta {0} godEnabledFor=laitettu pelaajalle {0} godMode=\u00a77God muoto {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cVirhe, et voi k\u00e4ytt\u00e4\u00e4 t\u00e4t\u00e4 tavaraa hattuna! hatEmpty=\u00a7cYou are not wearing a hat. hatFail=\u00a7cSinulla tulee olla jotain k\u00e4dess\u00e4si, mit\u00e4 k\u00e4ytt\u00e4\u00e4 hattuna. diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties index 77630a4ad..437486f72 100644 --- a/Essentials/src/messages_fr.properties +++ b/Essentials/src/messages_fr.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cLa commande {0} a \u00e9t\u00e9 mal charg\u00e9e. compassBearing=\u00a77Orientation : {0} ({1} degr\u00e9s). configFileMoveError=\u00c9chec du d\u00e9placement de config.yml vers l'emplacement de sauvegarde. configFileRenameError=\u00c9chec du changement de nom du fichier temporaire de config.yml -connectedPlayers=Joueurs connect\u00e9s : +connectedPlayers=\u00a77Joueurs connect\u00e9s\u00a7r connectionFailed=\u00c9chec de la connexion. cooldownWithMessage=\u00a7cR\u00e9utilisation : {0} corruptNodeInConfig=\u00a74Annonce : Votre fichier de configuration a un {0} n\u0153ud corrompu. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=d\u00e9sactiv\u00e9 pour {0} godEnabledFor=activ\u00e9 pour {0} godMode=\u00a77Mode Dieu {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cErreur, vous ne pouvez pas utliser cet item comme chapeau ! hatEmpty=\u00a7cVous ne portez pas de chapeau. hatFail=\u00a7cVous devez avoir quelque chose \u00e0 porter dans votre main. diff --git a/Essentials/src/messages_it.properties b/Essentials/src/messages_it.properties index 6e6253df0..5994a4ee1 100644 --- a/Essentials/src/messages_it.properties +++ b/Essentials/src/messages_it.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cIl comando {0} non e'' stato caricato correttamente. compassBearing=\u00a77Bussola: {0} ({1} gradi). configFileMoveError=Impossibile spostare config.yml nel backup. configFileRenameError=Impossibile rinominare il file temporale in config.yml -connectedPlayers=Players connessi: +connectedPlayers=\u00a77Players connessi\u00a7r connectionFailed=Connessione fallita. cooldownWithMessage=\u00a7cIn esaurimento: {0} corruptNodeInConfig=\u00a74Avviso: errore nel tuo file di configurazione, nodo {0}. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=God disabilitato per {0} godEnabledFor=God abilitato per {0} godMode=\u00a77Modalita'' God {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cError, you cannot use this item as a hat! hatEmpty=\u00a7cYou are not wearing a hat. hatFail=\u00a7cYou must have something to wear in your hand. diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties index cb140acd4..3177ed485 100644 --- a/Essentials/src/messages_nl.properties +++ b/Essentials/src/messages_nl.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cOpdracht {0} is fout geladen. compassBearing=\u00a77Ligging: {0} ({1} graden). configFileMoveError=Het verplaatsen van config.yml naar de backup locatie is mislukt. configFileRenameError=Fout bij het hernoemen van de tijdelijke map naar config.yml -connectedPlayers=Spelers online: +connectedPlayers=\u00a77Spelers online\u00a7r connectionFailed=Fout bij het verbinden. cooldownWithMessage=\u00a7cAfkoeltijd: {0} corruptNodeInConfig=\u00a74Waarschuwing: Het configuratiebestand bevat een fout {0}. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=uitgeschakeld voor {0} godEnabledFor=ingeschakeld voor {0} godMode=\u00a77God modus {0}. +groupNumber={0} on-line, voor de volledige lijst type /{1} {2}. +groupDoesNotExist=\u00a74Er is niemand on-line in deze groep! hatArmor=\u00a7cFout, je kunt dit voorwerp niet als hoed gebruiken. hatEmpty=\u00a7cJe draagt geen hoed. hatFail=\u00a7cJe hebt iets nodig om te dragen als hoed. diff --git a/Essentials/src/messages_pl.properties b/Essentials/src/messages_pl.properties index 1861e8116..194e21165 100644 --- a/Essentials/src/messages_pl.properties +++ b/Essentials/src/messages_pl.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a74Komenda {0} nie jest zaladowana! compassBearing=\u00a77Lozko: {0} ({1} stopni). configFileMoveError=Nie udalo sie przeniesc config.yml do lokalizacji backupa. configFileRenameError=Nie udalo sie zmienic nazwy tymczasowego pliku na config.yml -connectedPlayers=\u00a77Obecni gracze:\u00a7r +connectedPlayers=\u00a77Obecni gracze\u00a7r connectionFailed=Blad podczas otwierania polaczenia. cooldownWithMessage=\u00a74Cooldown: {0} corruptNodeInConfig=\u00a74Uwaga: Twoj plik konfiguracyjny ma uszkodzony wpis: {0} @@ -135,6 +135,8 @@ giveSpawn=\u00a77Dales\u00a7c {0} \u00a77of\u00a7c {1} to\u00a7c {2}\u00a77. godDisabledFor=\u00a74wylaczony\u00a77 dla\u00a7c {0}. godEnabledFor=\u00a7awlaczony\u00a77 dla\u00a7c {0}. godMode=\u00a77Godmode\u00a7c {0}\u00a77. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a74Blad, nie mozesz uzyc tego jako kapelusz. hatEmpty=\u00a74Nie nosisz aktualnie kapelusza. hatFail=\u00a74Musisz cos trzymac w dloni. diff --git a/Essentials/src/messages_pt.properties b/Essentials/src/messages_pt.properties index bc85e54ee..015d10d60 100644 --- a/Essentials/src/messages_pt.properties +++ b/Essentials/src/messages_pt.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cCommando {0} provavelmente esta carregado. compassBearing=\u00a77Inclina\u00e7ao: {0} ({1} graus). configFileMoveError=Falha ao mover arquivo config.yml ao local de backup. configFileRenameError=Falha em renomear arquivo temporario em config.yml -connectedPlayers=Jogadores conectados: +connectedPlayers=\u00a77Jogadores conectados\u00a7r connectionFailed=Falha ao abrir conexao. cooldownWithMessage=\u00a7cTempo de espera: {0} corruptNodeInConfig=\u00a74Aviso: Seu arquivo de configura\u00e7ao tem uma parte {0} corrompida. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Giving\u00a7c {0} \u00a76of\u00a7c {1} to\u00a7c {2}\u00a76. godDisabledFor=desativado para {0} godEnabledFor=ativado para {0} godMode=\u00a77Modo Deus {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cDe erro, voce nao pode usar este item como um chapeu! hatEmpty=\u00a7cYou are not wearing a hat. hatFail=\u00a7cVoce deve ter algo para vestir na sua mao. diff --git a/Essentials/src/messages_se.properties b/Essentials/src/messages_se.properties index 57c098d16..14a1cf677 100644 --- a/Essentials/src/messages_se.properties +++ b/Essentials/src/messages_se.properties @@ -55,7 +55,7 @@ commandNotLoaded=\u00a7cKommando {0} \u00e4r felaktigt laddat. compassBearing=\u00a77B\u00e4ring: {0} ({1} grader). configFileMoveError=Kunde inte flytta config.yml till backup-platsen. configFileRenameError=Kunde inte byta namn p\u00e5 temp-filen till config.yml -connectedPlayers=Anslutna spelare: +connectedPlayers=\u00a77Anslutna spelare\u00a7r connectionFailed=Kunde inte \u00f6ppna anslutning. cooldownWithMessage=\u00a7cNedkylning: {0} corruptNodeInConfig=\u00a74Observera: Din konfigurationsfil har en korrupt {0} nod. @@ -135,6 +135,8 @@ giveSpawn=\u00a76Ger\u00a7c {0} \u00a76av\u00a7c {1} till\u00a7c {2}\u00a76. godDisabledFor=inaktiverat f\u00f6r {0} godEnabledFor=aktiverat f\u00f6r {0} godMode=\u00a77Od\u00f6dlighet {0}. +groupNumber={0} online, for the full list type /{1} {2} +groupDoesNotExist=\u00a74There's no one online in this group! hatArmor=\u00a7cFel, du kan inte anv\u00e4nda den h\u00e4r saken som en hatt! hatEmpty=\u00a7cDu har inte p\u00e5 dig en hatt. hatFail=\u00a7cDu m\u00e5ste ha n\u00e5gonting att b\u00e4ra i din hand. diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml index fe8a756a7..29afbd11a 100644 --- a/Essentials/src/plugin.yml +++ b/Essentials/src/plugin.yml @@ -220,7 +220,7 @@ commands: aliases: [elightning,shock,eshock,smite,esmite,strike,estrike,thor,ethor] list: description: List all online players. - usage: / + usage: / [group] aliases: [elist,online,eonline,playerlist,eplayerlist,plist,eplist,who,ewho] mail: description: Manages inter-player, intra-server mail. @@ -344,7 +344,7 @@ commands: aliases: [mob,emob,spawnentity,espawnentity,espawnmob] speed: description: Change your speed limits. - usage: / [player] + usage: / [type] [player] aliases: [flyspeed,eflyspeed,fspeed,efspeed,espeed,walkspeed,ewalkspeed,wspeed,ewspeed] sudo: description: Make another user perform a command.