35 lines
1.9 KiB
Diff
35 lines
1.9 KiB
Diff
|
From 718db1e4e0a70ff25b8c38305fb79afd0707233e Mon Sep 17 00:00:00 2001
|
||
|
From: andrepl <andre@norcode.com>
|
||
|
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 cc36e2b..7c0d998 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<EnchantmentInstance>();
|
||
|
+ }
|
||
|
+ // 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
|
||
|
|