summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKHobbits <rob@khobbits.co.uk>2011-06-24 22:12:04 +0800
committersnowleo <schneeleo@gmail.com>2011-06-25 22:39:46 +0800
commit503b4fee55c7f0d070f7812e8ac3085ed1796b04 (patch)
treeaf50f076aa81569aae95695f711277086545d176
parentb7cb11cd95b4fd6aeee5e280eba422a1bd3346fe (diff)
downloadEssentials-503b4fee55c7f0d070f7812e8ac3085ed1796b04.tar
Essentials-503b4fee55c7f0d070f7812e8ac3085ed1796b04.tar.gz
Essentials-503b4fee55c7f0d070f7812e8ac3085ed1796b04.tar.lz
Essentials-503b4fee55c7f0d070f7812e8ac3085ed1796b04.tar.xz
Essentials-503b4fee55c7f0d070f7812e8ac3085ed1796b04.zip
Searchable help.
Toggle commands with no permissions.
-rw-r--r--Essentials/src/com/earth2me/essentials/Settings.java7
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandhelp.java29
-rw-r--r--Essentials/src/config.yml4
3 files changed, 32 insertions, 8 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Settings.java b/Essentials/src/com/earth2me/essentials/Settings.java
index b67788825..e1e60cb35 100644
--- a/Essentials/src/com/earth2me/essentials/Settings.java
+++ b/Essentials/src/com/earth2me/essentials/Settings.java
@@ -190,11 +190,16 @@ public class Settings implements IConf
{
return config.getInt("spawnmob-limit", 10);
}
-
+
public boolean showNonEssCommandsInHelp()
{
return config.getBoolean("non-ess-in-help", true);
}
+
+ public boolean hidePermissionlessHelp()
+ {
+ return config.getBoolean("hide-permissionless-help", true);
+ }
public int getProtectCreeperMaxHeight()
{
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
index 52277b1fa..4361fe1cf 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandhelp.java
@@ -30,17 +30,25 @@ public class Commandhelp extends EssentialsCommand
@Override
protected void run(Server server, User user, String commandLabel, String[] args) throws Exception
{
- int page;
+ int page = 1;
+ String match = args[0].toLowerCase();
try
{
- page = args.length > 0 ? Integer.parseInt(args[0]) : 1;
+ if (args.length > 0)
+ {
+ page = Integer.parseInt(args[args.length - 1]);
+ if (args.length == 1)
+ {
+ match = "";
+ }
+ }
+
}
catch (Exception ex)
{
- page = 1;
}
- List<String> lines = getHelpLines(user);
+ List<String> lines = getHelpLines(user, match);
int start = (page - 1) * 9;
int pages = lines.size() / 9 + (lines.size() % 9 > 0 ? 1 : 0);
@@ -58,7 +66,7 @@ public class Commandhelp extends EssentialsCommand
}
@SuppressWarnings("CallToThreadDumpStack")
- private List<String> getHelpLines(User user) throws Exception
+ private List<String> getHelpLines(User user, String match) throws Exception
{
List<String> retval = new ArrayList<String>();
File helpFile = new File(ess.getDataFolder(), "help_"+Util.sanitizeFileName(user.getName()) +".txt");
@@ -98,6 +106,12 @@ public class Commandhelp extends EssentialsCommand
final HashMap<String, HashMap<String, String>> cmds = (HashMap<String, HashMap<String, String>>)desc.getCommands();
for (Entry<String, HashMap<String, String>> k : cmds.entrySet())
{
+ if ((!match.equalsIgnoreCase("")) && (!p.getDescription().getName().toLowerCase().contains(match))
+ && (!p.getDescription().getDescription().toLowerCase().contains(match)))
+ {
+ continue;
+ }
+
if (p.getDescription().getName().toLowerCase().contains("essentials"))
{
final String node = "essentials." + k.getKey();
@@ -121,7 +135,10 @@ public class Commandhelp extends EssentialsCommand
}
else
{
- retval.add("§c" + k.getKey() + "§7: " + value.get("description"));
+ if (!ess.getSettings().hidePermissionlessHelp())
+ {
+ retval.add("§c" + k.getKey() + "§7: " + value.get("description"));
+ }
}
}
diff --git a/Essentials/src/config.yml b/Essentials/src/config.yml
index a2369c2e9..7f0b20e8f 100644
--- a/Essentials/src/config.yml
+++ b/Essentials/src/config.yml
@@ -88,7 +88,6 @@ motd:
- '&cWelcome, {PLAYER}&c!'
- '&fType &c/help&f for a list of commands.'
- 'Currently online: {PLAYERLIST}'
- - 'You have {MAILS} mail messages'
# The server rules, available by typing /rules
rules:
@@ -239,6 +238,9 @@ currency-symbol: '$'
#Show other plugins commands in help
non-ess-in-help: true
+#Hide plugins which dont give a permission
+hide-permissionless-help: true
+
############################################################
# +------------------------------------------------------+ #
# | EssentialsChat | #