summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-05-01 19:09:38 +0000
committersnowleo <snowleo@e251c2fe-e539-e718-e476-b85c1f46cddb>2011-05-01 19:09:38 +0000
commit4a50a36b5f5c20938dbaaf53e26a3894f40ae320 (patch)
tree486273bfdd4add4d28ef5040a7ac78b2b896db1c
parent7f34f3262424bce51d4b2450e312ee47644331d7 (diff)
downloadEssentials-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.java12
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