summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2012-03-23 17:16:09 +0000
committerKHobbits <rob@khobbits.co.uk>2012-03-23 17:16:09 +0000
commit0a74da88d6afdc5be4045309cf8415ca2acb38cd (patch)
treebb4ae52ef1bd5df9aeea512ee44593797f24f4f7
parentd0b94938e03e00cac7024de6d9927b693fde39a2 (diff)
downloadEssentials-0a74da88d6afdc5be4045309cf8415ca2acb38cd.tar
Essentials-0a74da88d6afdc5be4045309cf8415ca2acb38cd.tar.gz
Essentials-0a74da88d6afdc5be4045309cf8415ca2acb38cd.tar.lz
Essentials-0a74da88d6afdc5be4045309cf8415ca2acb38cd.tar.xz
Essentials-0a74da88d6afdc5be4045309cf8415ca2acb38cd.zip
Help command refresh.
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandhelp.java11
-rw-r--r--Essentials/src/com/earth2me/essentials/textreader/HelpInput.java51
-rw-r--r--Essentials/src/com/earth2me/essentials/textreader/TextPager.java21
-rw-r--r--Essentials/src/messages.properties7
-rw-r--r--Essentials/src/messages_da.properties5
-rw-r--r--Essentials/src/messages_de.properties5
-rw-r--r--Essentials/src/messages_en.properties5
-rw-r--r--Essentials/src/messages_es.properties5
-rw-r--r--Essentials/src/messages_fr.properties5
-rw-r--r--Essentials/src/messages_nl.properties5
10 files changed, 95 insertions, 25 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
index 769aac483..6339359f1 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
@@ -4,6 +4,7 @@ import static com.earth2me.essentials.I18n._;
import com.earth2me.essentials.User;
import com.earth2me.essentials.Util;
import com.earth2me.essentials.textreader.*;
+import java.util.Locale;
import org.bukkit.Server;
import org.bukkit.command.CommandSender;
@@ -21,6 +22,7 @@ public class Commandhelp extends EssentialsCommand
IText output;
String pageStr = args.length > 0 ? args[0] : null;
String chapterPageStr = args.length > 1 ? args[1] : null;
+ String command = commandLabel;
final IText input = new TextInput(user, "help", false, ess);
if (input.getLines().isEmpty())
@@ -31,7 +33,12 @@ public class Commandhelp extends EssentialsCommand
}
else
{
- output = new HelpInput(user, pageStr, ess);
+ if (pageStr.length() > 26)
+ {
+ pageStr = pageStr.substring(0, 25);
+ }
+ output = new HelpInput(user, pageStr.toLowerCase(Locale.ENGLISH), ess);
+ command = command.concat(" ").concat(pageStr);
pageStr = chapterPageStr;
}
chapterPageStr = null;
@@ -41,7 +48,7 @@ public class Commandhelp extends EssentialsCommand
output = new KeywordReplacer(input, user, ess);
}
final TextPager pager = new TextPager(output);
- pager.showPage(pageStr, chapterPageStr, commandLabel, user);
+ pager.showPage(pageStr, chapterPageStr, command, user);
}
@Override
diff --git a/Essentials/src/com/earth2me/essentials/textreader/HelpInput.java b/Essentials/src/com/earth2me/essentials/textreader/HelpInput.java
index 6d4efd811..76316c94d 100644
--- a/Essentials/src/com/earth2me/essentials/textreader/HelpInput.java
+++ b/Essentials/src/com/earth2me/essentials/textreader/HelpInput.java
@@ -24,33 +24,46 @@ public class HelpInput implements IText
public HelpInput(final User user, final String match, final IEssentials ess) throws IOException
{
boolean reported = false;
+ final List<String> newLines = new ArrayList<String>();
String pluginName = "";
+ String pluginNameLow = "";
+ if (!match.equalsIgnoreCase(""))
+ {
+ lines.add(_("helpMatching", match));
+ }
+
for (Plugin p : ess.getServer().getPluginManager().getPlugins())
{
try
{
final PluginDescriptionFile desc = p.getDescription();
final Map<String, Map<String, Object>> cmds = desc.getCommands();
- pluginName = p.getDescription().getName().toLowerCase(Locale.ENGLISH);
+ pluginName = p.getDescription().getName();
+ pluginNameLow = pluginName.toLowerCase(Locale.ENGLISH);
+ if (pluginNameLow.equals(match))
+ {
+ lines.clear();
+ newLines.clear();
+ lines.add(_("helpFrom", p.getDescription().getName()));
+ }
+
for (Map.Entry<String, Map<String, Object>> k : cmds.entrySet())
{
try
{
- if ((!match.equalsIgnoreCase(""))
- && (!k.getKey().toLowerCase(Locale.ENGLISH).contains(match))
+ if (!match.equalsIgnoreCase("") && (!pluginNameLow.contains(match)) && (!k.getKey().toLowerCase(Locale.ENGLISH).contains(match))
&& (!(k.getValue().get(DESCRIPTION) instanceof String
- && ((String)k.getValue().get(DESCRIPTION)).toLowerCase(Locale.ENGLISH).contains(match)))
- && (!pluginName.contains(match)))
+ && ((String)k.getValue().get(DESCRIPTION)).toLowerCase(Locale.ENGLISH).contains(match))))
{
continue;
}
- if (pluginName.contains("essentials"))
+ if (pluginNameLow.contains("essentials"))
{
final String node = "essentials." + k.getKey();
if (!ess.getSettings().isCommandDisabled(k.getKey()) && user.isAuthorized(node))
{
- lines.add(_("helpLine", k.getKey(), k.getValue().get(DESCRIPTION)));
+ newLines.add(_("helpLine", k.getKey(), k.getValue().get(DESCRIPTION)));
}
}
else
@@ -67,9 +80,9 @@ public class HelpInput implements IText
{
permissions = value.get(PERMISSIONS);
}
- if (user.isAuthorized("essentials.help." + pluginName))
+ if (user.isAuthorized("essentials.help." + pluginNameLow))
{
- lines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
+ newLines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
}
else if (permissions instanceof List && !((List<Object>)permissions).isEmpty())
{
@@ -84,21 +97,21 @@ public class HelpInput implements IText
}
if (enabled)
{
- lines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
+ newLines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
}
}
else if (permissions instanceof String && !"".equals(permissions))
{
if (user.isAuthorized(permissions.toString()))
{
- lines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
+ newLines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
}
}
else
{
if (!ess.getSettings().hidePermissionlessHelp())
{
- lines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
+ newLines.add(_("helpLine", k.getKey(), value.get(DESCRIPTION)));
}
}
}
@@ -109,6 +122,17 @@ public class HelpInput implements IText
continue;
}
}
+ if (!newLines.isEmpty())
+ {
+ if (pluginNameLow.equals(match))
+ {
+ break;
+ }
+ if (match.equalsIgnoreCase(""))
+ {
+ lines.add(_("helpPlugin", pluginName, pluginNameLow));
+ }
+ }
}
catch (NullPointerException ex)
{
@@ -118,12 +142,13 @@ public class HelpInput implements IText
{
if (!reported)
{
- logger.log(Level.WARNING, _("commandHelpFailedForPlugin", pluginName), ex);
+ logger.log(Level.WARNING, _("commandHelpFailedForPlugin", pluginNameLow), ex);
}
reported = true;
continue;
}
}
+ lines.addAll(newLines);
}
@Override
diff --git a/Essentials/src/com/earth2me/essentials/textreader/TextPager.java b/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
index c23df734d..cb70839dd 100644
--- a/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
+++ b/Essentials/src/com/earth2me/essentials/textreader/TextPager.java
@@ -1,5 +1,6 @@
package com.earth2me.essentials.textreader;
+import com.earth2me.essentials.I18n;
import static com.earth2me.essentials.I18n._;
import java.util.List;
import java.util.Locale;
@@ -49,7 +50,23 @@ public class TextPager
final int pages = lines.size() / 9 + (lines.size() % 9 > 0 ? 1 : 0);
if (!onePage)
{
- sender.sendMessage(_("infoPages", page, pages));
+ StringBuilder content = new StringBuilder();
+ final String[] title = commandName.split(" ", 2);
+ if (title.length > 1)
+ {
+ content.append(I18n.capitalCase(title[0])).append(": ");
+ content.append(title[1]);
+ }
+ else if (chapterPageStr != null)
+ {
+ content.append(I18n.capitalCase(commandName)).append(": ");
+ content.append(chapterPageStr);
+ }
+ else
+ {
+ content.append(I18n.capitalCase(commandName));
+ }
+ sender.sendMessage(_("infoPages", page, pages, content));
}
for (int i = start; i < lines.size() && i < start + (onePage ? 20 : 9); i++)
{
@@ -116,7 +133,7 @@ public class TextPager
if (!onePage)
{
- sender.sendMessage(_("infoPages", page, pages));
+ sender.sendMessage(_("infoPages", page, pages, I18n.capitalCase(commandName)));
}
for (int i = start; i < end && i < start + (onePage ? 20 : 9); i++)
{
diff --git a/Essentials/src/messages.properties b/Essentials/src/messages.properties
index aa32ad340..b0e9b80f3 100644
--- a/Essentials/src/messages.properties
+++ b/Essentials/src/messages.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77You have been released
heal=\u00a77You have been healed.
healOther=\u00a77Healed {0}.
helpConsole=To view help from the console, type ?.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Hole in floor
homeSet=\u00a77Home set.
homeSetToBed=\u00a77Your home is now set to this bed.
@@ -125,7 +128,7 @@ illegalDate=Illegal date format.
infoChapter=Select chapter:
infoChapterPages=Chapter {0}, page \u00a7c{1}\u00a7f of \u00a7c{2}\u00a7f:
infoFileDoesNotExist=File info.txt does not exist. Creating one for you.
-infoPages=Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Page \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Unknown chapter.
invBigger=The other users inventory is bigger than yours.
invRestored=Your inventory has been restored.
@@ -133,7 +136,7 @@ invSee=You see the inventory of {0}.
invSeeHelp=Use /invsee to restore your inventory.
invalidCharge=\u00a7cInvalid charge.
invalidHome=Home {0} doesn't exist
-invalidMob=Invalid mob type.
+invalidMob=Invalid mob type.&
invalidServer=Invalid server!
invalidSignLine=Line {0} on sign is invalid.
invalidWorld=\u00a7cInvalid world.
diff --git a/Essentials/src/messages_da.properties b/Essentials/src/messages_da.properties
index 9304c52df..ec50806a6 100644
--- a/Essentials/src/messages_da.properties
+++ b/Essentials/src/messages_da.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77Du er blevet l\u00f8sladt
heal=\u00a77Du er blevet healed.
healOther=\u00a77Healed {0}.
helpConsole=For at se hj\u00e6lp fra konsolen, skriv ?.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Side \u00a7c{0}\u00a7f af \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Hul i gulv
homeSet=\u00a77Hjem sat.
homeSetToBed=\u00a77Dit hjem er nu sat til denne seng.
@@ -125,7 +128,7 @@ illegalDate=Forkert datoformat.
infoChapter=V\u00e6lg kapitel:
infoChapterPages=Kapitel {0}, side \u00a7c{1}\u00a7f af \u00a7c{2}\u00a7f:
infoFileDoesNotExist=Fil info.txt eksisterer ikke. Fixer liiige en for dig.
-infoPages=Side \u00a7c{0}\u00a7f af \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Side \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Ukendt kapitel.
invBigger=Den anden brugers inventory er st\u00f8rre end din.
invRestored=Din inventory er blevet genoprettet.
diff --git a/Essentials/src/messages_de.properties b/Essentials/src/messages_de.properties
index 9c7846008..7f2c91b69 100644
--- a/Essentials/src/messages_de.properties
+++ b/Essentials/src/messages_de.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77Du wurdest frei gelassen.
heal=\u00a77Du wurdest geheilt.
healOther=\u00a77{0} geheilt.
helpConsole=Um die Hilfe der Konsole zu sehen, schreibe ?.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[Hilfe]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Seite \u00a7c{0}\u00a7f von \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Loch im Boden
homeSet=\u00a77Zuhause gesetzt.
homeSetToBed=\u00a77Dein Zuhause ist nun an diesem Bett.
@@ -125,7 +128,7 @@ illegalDate=Ung\u00fcltiges Datumsformat.
infoChapter=W\u00e4hle Kapitel:
infoChapterPages=Kapitel {0}, Seite \u00a7c{1}\u00a7f von \u00a7c{2}\u00a7f:
infoFileDoesNotExist=Datei info.txt existiert nicht. Erzeuge eine neue Datei.
-infoPages=Seite \u00a7c{0}\u00a7f von \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Seite \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Unbekanntes Kapitel:
invBigger=Das andere Inventar ist gr\u00f6sser als deins.
invRestored=Dein Inventar wurde wieder hergestellt.
diff --git a/Essentials/src/messages_en.properties b/Essentials/src/messages_en.properties
index 5cb5b8792..2c4deae80 100644
--- a/Essentials/src/messages_en.properties
+++ b/Essentials/src/messages_en.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77You have been released
heal=\u00a77You have been healed.
healOther=\u00a77Healed {0}.
helpConsole=To view help from the console, type ?.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Hole in floor
homeSet=\u00a77Home set.
homeSetToBed=\u00a77Your home is now set to this bed.
@@ -125,7 +128,7 @@ illegalDate=Illegal date format.
infoChapter=Select chapter:
infoChapterPages=Chapter {0}, page \u00a7c{1}\u00a7f of \u00a7c{2}\u00a7f:
infoFileDoesNotExist=File info.txt does not exist. Creating one for you.
-infoPages=Page \u00a7c{0}\u00a7f of \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Page \u00a74{0}\u00a76/\u00a74{1} &e----
infoUnknownChapter=Unknown chapter.
invBigger=The other users inventory is bigger than yours.
invRestored=Your inventory has been restored.
diff --git a/Essentials/src/messages_es.properties b/Essentials/src/messages_es.properties
index e1a256b40..3d32bf2d1 100644
--- a/Essentials/src/messages_es.properties
+++ b/Essentials/src/messages_es.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77Has sido liberado
heal=\u00a77Has sido curado.
healOther=\u00a77Has curado a {0}.
helpConsole=Para obtener ayuda de la consola, escribe ?.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Pagina \u00a7c{0}\u00a7f de \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Agujero en el suelo
homeSet=\u00a77Hogar establecido.
homeSetToBed=\u00a77Tu hogar esta ahora establecido a esta cama.
@@ -125,7 +128,7 @@ illegalDate=Forma de fecha ilegal.
infoChapter=Selecciona una seccion:
infoChapterPages=Seccion {0}, pagina \u00a7c{1}\u00a7f of \u00a7c{2}\u00a7f:
infoFileDoesNotExist=El archivo info.txt no existe. Creando uno para ti.
-infoPages=Pagina \u00a7c{0}\u00a7f de \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Pagina \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Seccion desconocida.
invBigger=El inventario del otro usuario es mas grande que el tuyo
invRestored=Tu inventario ha sido recuperado.
diff --git a/Essentials/src/messages_fr.properties b/Essentials/src/messages_fr.properties
index 1766f4df3..e4e370b90 100644
--- a/Essentials/src/messages_fr.properties
+++ b/Essentials/src/messages_fr.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77Vous avez \u00e9t\u00e9 lib\u00e9r\u00e9.
heal=\u00a77Vous avez \u00e9t\u00e9 soign\u00e9.
healOther=\u00a77{0} a \u00e9t\u00e9 soign\u00e9.
helpConsole=Pour voir l''aide tapez ?
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[Aide Admin]\u00a7f \u00a77{0} : \u00a7f {1}
helpPages=Page \u00a7c{0}\u00a7f sur \u00a7c{1}\u00a7f.
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Trou dans le Sol.
homeSet=\u00a77R\u00e9sidence d\u00e9finie.
homeSetToBed=\u00a77Votre r\u00e9sidence est d\u00e9sormais li\u00e9e \u00e0 ce lit.
@@ -125,7 +128,7 @@ illegalDate=Format de date ill\u00e9gal.
infoChapter=S\u00e9lectionnez le chapitre :
infoChapterPages=Chapitre {0}, page \u00a7c{1}\u00a7f sur \u00a7c{2}\u00a7f:
infoFileDoesNotExist=Le fichier info.txt n'existe pas. Le fichier est en cours de cr\u00e9ation pour vous.
-infoPages=Page \u00a7c{0}\u00a7f de \u00a7c{1}\u00a7f.
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Page \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Chapitre inconnu.
invBigger=Les inventaires des autres joueurs sont plus gros que le v\u00f4tre.
invRestored=Votre inventaire vous a \u00e9t\u00e9 rendu.
diff --git a/Essentials/src/messages_nl.properties b/Essentials/src/messages_nl.properties
index c7f715e72..8d3a4cbd7 100644
--- a/Essentials/src/messages_nl.properties
+++ b/Essentials/src/messages_nl.properties
@@ -111,9 +111,12 @@ haveBeenReleased=\u00a77Je bent bevrijdt
heal=\u00a77Je bent genezen.
healOther=\u00a77Je geneezde {0}.
helpConsole=type ? om de consolehelp weer te geven.
+helpFrom=\u00a77Commands from {0}:
helpLine=\u00a76/{0}\u00a7f: {1}
+helpMatching=\u00a77Commands matching "{0}":
helpOp=\u00a7c[HelpOp]\u00a7f \u00a77{0}:\u00a7f {1}
helpPages=Pagina \u00a7c{0}\u00a7f van de \u00a7c{1}\u00a7f:
+helpPlugin=\u00a74{0}\u00a7f: Plugin Help: /help {1}
holeInFloor=Gat in de vloer
homeSet=\u00a77Home ingesteld.
homeSetToBed=\u00a77Je home is is nu verplaatst naar dit bed.
@@ -125,7 +128,7 @@ illegalDate=Illegaal data formaat.
infoChapter=Selecteer hoofdstuk:
infoChapterPages=Hoofdstuk {0}, Pagina \u00a7c{1}\u00a7f van de \u00a7c{2}\u00a7f:
infoFileDoesNotExist=Bestand info.txt bestaat niet. Bezig met aanmaken.
-infoPages=Pagina \u00a7c{0}\u00a7f van de \u00a7c{1}\u00a7f:
+infoPages=\u00a7e ---- \u00a76{2} \u00a7e--\u00a76 Pagina \u00a74{0}\u00a76/\u00a74{1} \u00a7e----
infoUnknownChapter=Onbekend hoofdstuk.
invBigger=De inventory van de andere speler is groter dan die van jou.
invRestored=Je inventory is hersteld.