diff --git a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch new file mode 100644 index 0000000000..0c7d0d3fc4 --- /dev/null +++ b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch @@ -0,0 +1,40 @@ +--- ../src_base/minecraft/net/minecraft/enchantment/Enchantment.java ++++ ../src_work/minecraft/net/minecraft/enchantment/Enchantment.java +@@ -1,6 +1,9 @@ + package net.minecraft.enchantment; + + import java.util.ArrayList; ++ ++import com.google.common.collect.ObjectArrays; ++ + import net.minecraft.entity.EntityLiving; + import net.minecraft.item.ItemStack; + import net.minecraft.util.DamageSource; +@@ -205,6 +208,27 @@ + return this.type.canEnchantItem(par1ItemStack.getItem()); + } + ++ /** ++ * This applies specifically to applying at the enchanting table. The other method {@link #func_92037_a(ItemStack)} ++ * applies for all possible enchantments. ++ * @param stack ++ * @return ++ */ ++ public boolean canApplyAtEnchantingTable(ItemStack stack) ++ { ++ return this.type.canEnchantItem(stack.getItem()); ++ } ++ ++ /** ++ * Add to the list of enchantments applicable by the anvil from a book ++ * ++ * @param enchantment ++ */ ++ public static void addToBookList(Enchantment enchantment) ++ { ++ ObjectArrays.concat(field_92038_c, enchantment); ++ } ++ + static + { + ArrayList var0 = new ArrayList(); diff --git a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch index 645a316ea7..2d121e7ac1 100644 --- a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch @@ -5,7 +5,7 @@ Enchantment var8 = var5[var7]; - if (var8 != null && (var8.type.canEnchantItem(var2) || var4)) -+ if (var8 != null && (var8.func_92037_a(par1ItemStack) || var4)) ++ if (var8 != null && (var8.canApplyAtEnchantingTable(par1ItemStack) || var4)) { for (int var9 = var8.getMinLevel(); var9 <= var8.getMaxLevel(); ++var9) {