From e33fc912a7a38dd16fafa8c9299b2fa2a1c51c71 Mon Sep 17 00:00:00 2001
From: Zach Brown <Zbob750@live.com>
Date: Tue, 19 Aug 2014 13:40:15 -0500
Subject: [PATCH] Update from upstream SpigotMC Skip invalid enchants in
 CraftMetaItem SpigotMC/Spigot@542e0798daa57976f0b07dcd0eb03e8c46cec197

---
 ...ip-invalid-enchants-in-CraftMetaItem.patch | 29 +++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 CraftBukkit-Patches/0175-Skip-invalid-enchants-in-CraftMetaItem.patch

diff --git a/CraftBukkit-Patches/0175-Skip-invalid-enchants-in-CraftMetaItem.patch b/CraftBukkit-Patches/0175-Skip-invalid-enchants-in-CraftMetaItem.patch
new file mode 100644
index 0000000000..7b1669faea
--- /dev/null
+++ b/CraftBukkit-Patches/0175-Skip-invalid-enchants-in-CraftMetaItem.patch
@@ -0,0 +1,29 @@
+From 191d3976ce28c03bad044b14dc96ab11d232e1eb Mon Sep 17 00:00:00 2001
+From: Thinkofdeath <thinkofdeath@spigotmc.org>
+Date: Tue, 19 Aug 2014 11:04:21 +0100
+Subject: [PATCH] Skip invalid enchants in CraftMetaItem
+
+Its a rare case but when loading a world from a modded server which added enchantments
+CraftMetaItem would add a null enchantment into the enchantment map which causes
+NullPointers later
+
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+index adaac09..0a6b139 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+@@ -432,7 +432,11 @@ class CraftMetaItem implements ItemMeta, Repairable {
+             int id = 0xffff & ((NBTTagCompound) ench.get(i)).getShort(ENCHANTMENTS_ID.NBT);
+             int level = 0xffff & ((NBTTagCompound) ench.get(i)).getShort(ENCHANTMENTS_LVL.NBT);
+ 
+-            enchantments.put(Enchantment.getById(id), level);
++            // Spigot start - skip invalid enchantments
++            Enchantment e = Enchantment.getById(id);
++            if (e == null) continue;
++            // Spigot end
++            enchantments.put(e, level);
+         }
+ 
+         return enchantments;
+-- 
+1.9.1
+