mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-09-19 03:21:20 +02:00
[trunk] Fix unknown itemids to crash clients.
git-svn-id: https://svn.java.net/svn/essentials~svn/trunk@1297 e251c2fe-e539-e718-e476-b85c1f46cddb
This commit is contained in:
parent
7f34f32624
commit
4a50a36b5f
@ -8,6 +8,8 @@ import java.io.IOException;
|
|||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
@ -88,11 +90,15 @@ public class ItemDb
|
|||||||
|
|
||||||
public static ItemStack get(String id) throws Exception
|
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.setAmount(Essentials.getSettings().getDefaultStackSize());
|
||||||
retval.setDurability(durabilities.containsKey(id.toLowerCase()) ? durabilities.get(id.toLowerCase()) : 0);
|
retval.setDurability(durabilities.containsKey(id.toLowerCase()) ? durabilities.get(id.toLowerCase()) : 0);
|
||||||
if (items.containsValue(retval.getTypeId()) || true) return retval;
|
return retval;
|
||||||
throw new Exception("Unknown item numeric: " + retval);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getUnsafe(String id) throws Exception
|
private static int getUnsafe(String id) throws Exception
|
||||||
|
Loading…
Reference in New Issue
Block a user