diff options
author | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-05-09 00:48:21 +0000 |
---|---|---|
committer | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-05-09 00:48:21 +0000 |
commit | a02f0da2b390e9c6332617ec227d142cc2e67988 (patch) | |
tree | 4bcf1844442df96104e572a8f3ade30c7705e2a7 | |
parent | 8016fa480d27be810a33fd5b75503ebaa0ab3389 (diff) | |
download | Essentials-a02f0da2b390e9c6332617ec227d142cc2e67988.tar Essentials-a02f0da2b390e9c6332617ec227d142cc2e67988.tar.gz Essentials-a02f0da2b390e9c6332617ec227d142cc2e67988.tar.lz Essentials-a02f0da2b390e9c6332617ec227d142cc2e67988.tar.xz Essentials-a02f0da2b390e9c6332617ec227d142cc2e67988.zip |
[trunk] ItemDb.get(): Added support for other seperation characters : + ' , ; .
added support for itemname:data, e.g. wool:7
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1385 e251c2fe-e539-e718-e476-b85c1f46cddb
-rw-r--r-- | Essentials/src/com/earth2me/essentials/ItemDb.java | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/Essentials/src/com/earth2me/essentials/ItemDb.java b/Essentials/src/com/earth2me/essentials/ItemDb.java index 6eb35c50b..c0c5383ff 100644 --- a/Essentials/src/com/earth2me/essentials/ItemDb.java +++ b/Essentials/src/com/earth2me/essentials/ItemDb.java @@ -97,28 +97,42 @@ public class ItemDb public static ItemStack get(String id) throws Exception { - int itemid; + int itemid = 0; + String itemname = null; short metaData = 0; - if (id.matches("^\\d+:\\d+$")) + if (id.matches("^\\d+[:+',;.]\\d+$")) { - itemid = Integer.parseInt(id.split(":")[0]); - metaData = Short.parseShort(id.split(":")[1]); + itemid = Integer.parseInt(id.split("[:+',;.]")[0]); + metaData = Short.parseShort(id.split("[:+',;.]")[1]); } else if (id.matches("^\\d+$")) { itemid = Integer.parseInt(id); } - else if (items.containsKey(id.toLowerCase())) + else if (id.matches("^[^:+',;.]+[:+',;.]\\d+$")) { - itemid = items.get(id.toLowerCase()); - if (durabilities.containsKey(id.toLowerCase())) - { - metaData = durabilities.get(id.toLowerCase()); - } + itemname = id.split("[:+',;.]")[0].toLowerCase(); + metaData = Short.parseShort(id.split("[:+',;.]")[1]); } - else + else { - throw new Exception("Unknown item name: " + id); + itemname = id.toLowerCase(); + } + + if (itemname != null) + { + if (items.containsKey(itemname)) + { + itemid = items.get(itemname); + if (durabilities.containsKey(itemname) && metaData == 0) + { + metaData = durabilities.get(itemname); + } + } + else + { + throw new Exception("Unknown item name: " + id); + } } Material mat = Material.getMaterial(itemid); |