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 | 4a50a36b5f5c20938dbaaf53e26a3894f40ae320 (patch) | |
tree | 486273bfdd4add4d28ef5040a7ac78b2b896db1c | |
parent | 7f34f3262424bce51d4b2450e312ee47644331d7 (diff) | |
download | Essentials-4a50a36b5f5c20938dbaaf53e26a3894f40ae320.tar Essentials-4a50a36b5f5c20938dbaaf53e26a3894f40ae320.tar.gz Essentials-4a50a36b5f5c20938dbaaf53e26a3894f40ae320.tar.lz Essentials-4a50a36b5f5c20938dbaaf53e26a3894f40ae320.tar.xz Essentials-4a50a36b5f5c20938dbaaf53e26a3894f40ae320.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 |