diff options
author | KHobbits <rob@khobbits.co.uk> | 2013-08-15 05:47:23 +0100 |
---|---|---|
committer | KHobbits <rob@khobbits.co.uk> | 2013-08-15 05:47:23 +0100 |
commit | 2928e8a99f823e593cd0942aa12fed63b21450a5 (patch) | |
tree | 744ecc934c050cd72dfe31cbf735f1e834bd8327 | |
parent | ffae86dd42f424a0c14c17bcb65db287923852c1 (diff) | |
download | Essentials-2928e8a99f823e593cd0942aa12fed63b21450a5.tar Essentials-2928e8a99f823e593cd0942aa12fed63b21450a5.tar.gz Essentials-2928e8a99f823e593cd0942aa12fed63b21450a5.tar.lz Essentials-2928e8a99f823e593cd0942aa12fed63b21450a5.tar.xz Essentials-2928e8a99f823e593cd0942aa12fed63b21450a5.zip |
Use essentials itemdb for charge messages.
-rw-r--r-- | Essentials/src/com/earth2me/essentials/ItemDb.java | 25 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/Trade.java | 2 | ||||
-rw-r--r-- | Essentials/src/com/earth2me/essentials/api/IItemDb.java | 2 |
3 files changed, 25 insertions, 4 deletions
diff --git a/Essentials/src/com/earth2me/essentials/ItemDb.java b/Essentials/src/com/earth2me/essentials/ItemDb.java index b1afe4576..14833e0ce 100644 --- a/Essentials/src/com/earth2me/essentials/ItemDb.java +++ b/Essentials/src/com/earth2me/essentials/ItemDb.java @@ -21,6 +21,7 @@ public class ItemDb implements IConf, net.ess3.api.IItemDb } private final transient Map<String, Integer> items = new HashMap<String, Integer>(); private final transient Map<ItemData, List<String>> names = new HashMap<ItemData, List<String>>(); + private final transient Map<ItemData, String> primaryName = new HashMap<ItemData, String>(); private final transient Map<String, Short> durabilities = new HashMap<String, Short>(); private final transient ManagedFile file; private final transient Pattern splitPattern = Pattern.compile("[:+',;.]"); @@ -38,6 +39,7 @@ public class ItemDb implements IConf, net.ess3.api.IItemDb durabilities.clear(); items.clear(); names.clear(); + primaryName.clear(); for (String line : lines) { @@ -68,10 +70,11 @@ public class ItemDb implements IConf, net.ess3.api.IItemDb Collections.sort(nameList, new LengthCompare()); } else - { + { List<String> nameList = new ArrayList<String>(); nameList.add(itemName); names.put(itemData, nameList); + primaryName.put(itemData, itemName); } } } @@ -211,8 +214,24 @@ public class ItemDb implements IConf, net.ess3.api.IItemDb } return StringUtil.joinList(", ", nameList); } - - + +@Override + public String name(ItemStack item) + { + ItemData itemData = new ItemData(item.getTypeId(), item.getDurability()); + String name = primaryName.get(itemData); + if (name == null) + { + itemData = new ItemData(item.getTypeId(), (short)0); + name = primaryName.get(itemData); + if (name == null) + { + return null; + } + } + return name; + } + static class ItemData { final private int itemNo; diff --git a/Essentials/src/com/earth2me/essentials/Trade.java b/Essentials/src/com/earth2me/essentials/Trade.java index 8e8070776..fcb9e38f7 100644 --- a/Essentials/src/com/earth2me/essentials/Trade.java +++ b/Essentials/src/com/earth2me/essentials/Trade.java @@ -104,7 +104,7 @@ public class Trade if (getItemStack() != null && !user.getBase().getInventory().containsAtLeast(itemStack, itemStack.getAmount())) { - throw new ChargeException(_("missingItems", getItemStack().getAmount(), getItemStack().getType().toString().toLowerCase(Locale.ENGLISH).replace("_", " "))); + throw new ChargeException(_("missingItems", getItemStack().getAmount(), ess.getItemDb().name(getItemStack()))); } BigDecimal money; diff --git a/Essentials/src/com/earth2me/essentials/api/IItemDb.java b/Essentials/src/com/earth2me/essentials/api/IItemDb.java index 063502fad..a1da6dd8e 100644 --- a/Essentials/src/com/earth2me/essentials/api/IItemDb.java +++ b/Essentials/src/com/earth2me/essentials/api/IItemDb.java @@ -14,5 +14,7 @@ public interface IItemDb public String names(ItemStack item); + public String name(ItemStack item); + List<ItemStack> getMatching(User user, String[] args) throws Exception; } |