From f65f042910b26e9d10de09acf6da494ade4eb081 Mon Sep 17 00:00:00 2001 From: LexManos Date: Sat, 10 Aug 2013 23:23:41 -0700 Subject: [PATCH] Addition: Added isAllowedOnBooks hook to Enchantments Closes #589 --- .../net/minecraft/enchantment/Enchantment.java.patch | 11 ++++++++++- .../enchantment/EnchantmentHelper.java.patch | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch index 8b1261622..1bf46b0b6 100644 --- a/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/Enchantment.java.patch @@ -10,7 +10,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; -@@ -207,6 +210,27 @@ +@@ -207,6 +210,36 @@ return this.type.canEnchantItem(par1ItemStack.getItem()); } @@ -34,6 +34,15 @@ + { + ObjectArrays.concat(enchantmentsBookList, enchantment); + } ++ ++ /** ++ * Is this enchantment allowed to be enchanted on books via Enchantment Table ++ * @return false to disable the vanilla feature ++ */ ++ public boolean isAllowedOnBooks() ++ { ++ return true; ++ } + static { diff --git a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch index 8aebb7f5a..33fbe30e8 100644 --- a/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch +++ b/patches/minecraft/net/minecraft/enchantment/EnchantmentHelper.java.patch @@ -1,10 +1,11 @@ --- ../src_base/minecraft/net/minecraft/enchantment/EnchantmentHelper.java +++ ../src_work/minecraft/net/minecraft/enchantment/EnchantmentHelper.java -@@ -463,7 +463,7 @@ +@@ -463,7 +463,8 @@ { Enchantment enchantment = aenchantment[k]; - if (enchantment != null && (enchantment.type.canEnchantItem(item) || flag)) ++ flag = (par1ItemStack.itemID == Item.book.itemID) && enchantment.isAllowedOnBooks(); + if (enchantment != null && (enchantment.canApplyAtEnchantingTable(par1ItemStack) || flag)) { for (int l = enchantment.getMinLevel(); l <= enchantment.getMaxLevel(); ++l)