diff options
author | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-05-01 19:09:38 +0000 |
---|---|---|
committer | snowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb> | 2011-05-01 19:09:38 +0000 |
commit | 448b32f43cbf7ae660cf4f6969b80e8f85217d94 (patch) | |
tree | 329b101f671593ddd1eabfb7e2ed134dac28f3a0 | |
parent | 02a718374e12cfc1f8dd27cafce1b95befd9d882 (diff) | |
download | Essentials-448b32f43cbf7ae660cf4f6969b80e8f85217d94.tar Essentials-448b32f43cbf7ae660cf4f6969b80e8f85217d94.tar.gz Essentials-448b32f43cbf7ae660cf4f6969b80e8f85217d94.tar.lz Essentials-448b32f43cbf7ae660cf4f6969b80e8f85217d94.tar.xz Essentials-448b32f43cbf7ae660cf4f6969b80e8f85217d94.zip |
[trunk] Fix unknown itemids to crash clients.
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1297 e251c2fe-e539-e718-e476-b85c1f46cddb
-rw-r--r-- | Essentials/src/com/earth2me/essentials/ItemDb.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/Essentials/src/com/earth2me/essentials/ItemDb.java b/Essentials/src/com/earth2me/essentials/ItemDb.java index 936563997..6dd82f156 100644 --- a/Essentials/src/com/earth2me/essentials/ItemDb.java +++ b/Essentials/src/com/earth2me/essentials/ItemDb.java @@ -8,6 +8,8 @@ import java.io.IOException; import java.io.InputStream; import java.util.*; import java.util.logging.Logger; +import java.util.regex.Pattern; +import org.bukkit.Material; import org.bukkit.inventory.ItemStack; @@ -88,11 +90,15 @@ public class ItemDb public static ItemStack get(String id) throws Exception { - ItemStack retval = new ItemStack(getUnsafe(id)); + int itemid = getUnsafe(id); + Material mat = Material.getMaterial(itemid); + if (mat == null) { + throw new Exception("Unknown item id: "+itemid); + } + ItemStack retval = new ItemStack(mat); retval.setAmount(Essentials.getSettings().getDefaultStackSize()); retval.setDurability(durabilities.containsKey(id.toLowerCase()) ? durabilities.get(id.toLowerCase()) : 0); - if (items.containsValue(retval.getTypeId()) || true) return retval; - throw new Exception("Unknown item numeric: " + retval); + return retval; } private static int getUnsafe(String id) throws Exception |