summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunfighterJ <joseph.jenniges@gmail.com>2013-04-29 06:31:08 -0500
committerGunfighterJ <joseph.jenniges@gmail.com>2013-04-29 06:31:08 -0500
commitb05c56db0242d43a38bea0fddac360285dcf33ef (patch)
tree1e360ce1e4b6e0a6d63fbb355131470d606df9ba
parent5848a5c2ecac8e51238d8acee3b4e4047338b9dd (diff)
downloadEssentials-b05c56db0242d43a38bea0fddac360285dcf33ef.tar
Essentials-b05c56db0242d43a38bea0fddac360285dcf33ef.tar.gz
Essentials-b05c56db0242d43a38bea0fddac360285dcf33ef.tar.lz
Essentials-b05c56db0242d43a38bea0fddac360285dcf33ef.tar.xz
Essentials-b05c56db0242d43a38bea0fddac360285dcf33ef.zip
Add keyword replacements in kits
Add SimpleTextInput constructor for lists Variable refactoring for clarity.
-rw-r--r--Essentials/src/com/earth2me/essentials/Kit.java17
-rw-r--r--Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java8
2 files changed, 19 insertions, 6 deletions
diff --git a/Essentials/src/com/earth2me/essentials/Kit.java b/Essentials/src/com/earth2me/essentials/Kit.java
index 962d8ca25..9bb94555b 100644
--- a/Essentials/src/com/earth2me/essentials/Kit.java
+++ b/Essentials/src/com/earth2me/essentials/Kit.java
@@ -4,6 +4,9 @@ import static com.earth2me.essentials.I18n._;
import static com.earth2me.essentials.I18n.capitalCase;
import com.earth2me.essentials.commands.NoChargeException;
import com.earth2me.essentials.craftbukkit.InventoryWorkaround;
+import com.earth2me.essentials.textreader.IText;
+import com.earth2me.essentials.textreader.KeywordReplacer;
+import com.earth2me.essentials.textreader.SimpleTextInput;
import java.util.*;
import java.util.logging.Level;
import org.bukkit.configuration.ConfigurationSection;
@@ -102,24 +105,28 @@ public class Kit
{
try
{
+ IText input = new SimpleTextInput(items);
+ IText output = new KeywordReplacer(input, user, ess);
+
boolean spew = false;
final boolean allowUnsafe = ess.getSettings().allowUnsafeEnchantments();
- for (String d : items)
- {
- if (d.startsWith(ess.getSettings().getCurrencySymbol()))
+ for (String kitItem : output.getLines())
+ {
+ if (kitItem.startsWith(ess.getSettings().getCurrencySymbol()))
{
- Double value = Double.parseDouble(d.substring(ess.getSettings().getCurrencySymbol().length()).trim());
+ Double value = Double.parseDouble(kitItem.substring(ess.getSettings().getCurrencySymbol().length()).trim());
Trade t = new Trade(value, ess);
t.pay(user);
continue;
}
- final String[] parts = d.split(" ");
+ final String[] parts = kitItem.split(" ");
final ItemStack parseStack = ess.getItemDb().get(parts[0], parts.length > 1 ? Integer.parseInt(parts[1]) : 1);
final MetaItemStack metaStack = new MetaItemStack(parseStack);
if (parts.length > 2)
{
+ // We pass a null sender here because kits should not do perm checks
metaStack.parseStringMeta(null, allowUnsafe, parts, 2, ess);
}
diff --git a/Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java b/Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java
index 57e599ff2..b11907faf 100644
--- a/Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java
+++ b/Essentials/src/com/earth2me/essentials/textreader/SimpleTextInput.java
@@ -7,9 +7,15 @@ public class SimpleTextInput implements IText
{
private final transient List<String> lines = new ArrayList<String>();
- public SimpleTextInput (final String input) {
+ public SimpleTextInput (final String input)
+ {
lines.addAll(Arrays.asList(input.split("\\n")));
}
+
+ public SimpleTextInput (final List<String> input)
+ {
+ lines.addAll(input);
+ }
@Override
public List<String> getLines()