summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorokamosy <okamosy@gmail.com>2011-08-21 17:52:58 +0100
committerokamosy <okamosy@gmail.com>2011-08-21 17:52:58 +0100
commited98f6f7a286c4077dc21708fac74bd9c4be4210 (patch)
tree505839aa2aee5fe426d17cd6026112dfdf6c796a
parent8d1ad411b7eff4daf7b3f7484b10300d7a6bd0bc (diff)
downloadEssentials-ed98f6f7a286c4077dc21708fac74bd9c4be4210.tar
Essentials-ed98f6f7a286c4077dc21708fac74bd9c4be4210.tar.gz
Essentials-ed98f6f7a286c4077dc21708fac74bd9c4be4210.tar.lz
Essentials-ed98f6f7a286c4077dc21708fac74bd9c4be4210.tar.xz
Essentials-ed98f6f7a286c4077dc21708fac74bd9c4be4210.zip
converted powertool config to use lists instead of tokenized strings
Powertool update
-rw-r--r--Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java6
-rw-r--r--Essentials/src/com/earth2me/essentials/UserData.java32
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java4
-rw-r--r--Essentials/src/plugin.yml2
4 files changed, 32 insertions, 12 deletions
diff --git a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
index 1dbc72772..7552e96db 100644
--- a/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
+++ b/Essentials/src/com/earth2me/essentials/EssentialsPlayerListener.java
@@ -430,14 +430,14 @@ public class EssentialsPlayerListener extends PlayerListener
{
return;
}
- final String command = user.getPowertool(is);
- if (command == null || command.isEmpty())
+ final List<String> commands = user.getPowertool(is);
+ if (commands == null || commands.isEmpty())
{
return;
}
// We need to loop through each command and execute
- for (String commandPtr : command.split("\\|"))
+ for (String commandPtr : commands)
{
if (commandPtr.matches(".*\\{player\\}.*"))
{
diff --git a/Essentials/src/com/earth2me/essentials/UserData.java b/Essentials/src/com/earth2me/essentials/UserData.java
index 896339642..7cad0de93 100644
--- a/Essentials/src/com/earth2me/essentials/UserData.java
+++ b/Essentials/src/com/earth2me/essentials/UserData.java
@@ -173,26 +173,46 @@ public abstract class UserData extends PlayerExtension implements IConf
config.setProperty("unlimited", unlimited);
config.save();
}
- private Map<Integer, String> powertools;
+ private Map<Integer, Object> powertools;
@SuppressWarnings("unchecked")
- private Map<Integer, String> getPowertools()
+ private Map<Integer, Object> getPowertools()
{
Object o = config.getProperty("powertools");
+
if (o instanceof Map)
{
- return (Map<Integer, String>)o;
+ for(Map.Entry<Integer, Object> entry : ((Map<Integer, Object>)o).entrySet())
+ {
+ if(entry.getValue() instanceof String)
+ {
+ List<String> temp = new ArrayList<String>();
+ temp.add((String)entry.getValue());
+ ((Map<Integer, Object>)o).put(entry.getKey(), temp);
+ }
+ }
+
+ return (Map<Integer, Object>)o;
}
else
{
- return new HashMap<Integer, String>();
+ return new HashMap<Integer, Object>();
}
}
- public String getPowertool(ItemStack stack)
+ public List<String> getPowertool(ItemStack stack)
+ {
+ return (List<String>)powertools.get(stack.getTypeId());
+ }
+
+ public List<String> getPowertoolList(ItemStack stack)
{
- return powertools.get(stack.getTypeId());
+ Map<String, Object> tools = (Map<String, Object>)config.getProperty("powertools");
+ List<String> commands;
+
+ commands = (List<String>)tools.get(stack.getTypeId());
+ return commands;
}
public void setPowertool(ItemStack stack, String command)
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java
index 90f4803ca..3f56772f4 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandpowertool.java
@@ -30,8 +30,8 @@ public class Commandpowertool extends EssentialsCommand
{
if (command.equalsIgnoreCase("list"))
{
- String powertools = user.getPowertool(is);
- if (powertools == null)
+ List<String> powertools = user.getPowertool(is);
+ if (powertools == null || powertools.empty())
{
user.sendMessage(Util.format("powerToolListEmpty", itemName));
}
diff --git a/Essentials/src/plugin.yml b/Essentials/src/plugin.yml
index 031accc27..d8a772a3a 100644
--- a/Essentials/src/plugin.yml
+++ b/Essentials/src/plugin.yml
@@ -204,7 +204,7 @@ commands:
aliases: [pong,eping,epong]
powertool:
description: Assigns a command to the item in hand, {player} will be replaced by the name of the player that you click.
- usage: /<command> [a:r:][command] <arguments>
+ usage: /<command> [list|a:|r:][command] <arguments>
aliases: [pt,epowertool,ept]
ptime:
description: Adjust player's client time. Add @ prefix to fix.