From aba6ecaf644f983f543b6b3fd8a44de320b91cc4 Mon Sep 17 00:00:00 2001 From: andrepl Date: Sat, 15 Mar 2014 12:50:00 -0400 Subject: [PATCH] Allow enchanting tables to enchant any item diff --git a/src/main/java/net/minecraft/server/ContainerEnchantTable.java b/src/main/java/net/minecraft/server/ContainerEnchantTable.java index 528fbc9..372ccde 100644 --- a/src/main/java/net/minecraft/server/ContainerEnchantTable.java +++ b/src/main/java/net/minecraft/server/ContainerEnchantTable.java @@ -152,6 +152,11 @@ public class ContainerEnchantTable extends Container { if (this.costs[i] > 0 && itemstack != null && (entityhuman.expLevel >= this.costs[i] || entityhuman.abilities.canInstantlyBuild)) { if (!this.world.isStatic) { List list = EnchantmentManager.b(this.l, itemstack, this.costs[i]); + // Spigot - Provide an empty enchantment list + if (list == null) { + list = new java.util.ArrayList(); + } + // Spigot End boolean flag = itemstack.getItem() == Items.BOOK; if (list != null) { @@ -186,7 +191,7 @@ public class ContainerEnchantTable extends Container { EnchantmentInstance enchantment = new EnchantmentInstance(enchantId, entry.getValue()); Items.ENCHANTED_BOOK.a(itemstack, enchantment); } else { - item.addEnchantment(entry.getKey(), entry.getValue()); + item.addUnsafeEnchantment(entry.getKey(), entry.getValue()); // Spigot addEnchantment -> addUnsafeEnchantment } } catch (IllegalArgumentException e) { /* Just swallow invalid enchantments */ -- 1.8.3.2