diff --git a/patches/api/0046-Shears-can-have-looting-enchantment.patch b/patches/api/0046-Shears-can-have-looting-enchantment.patch index a08b83acc..d00633431 100644 --- a/patches/api/0046-Shears-can-have-looting-enchantment.patch +++ b/patches/api/0046-Shears-can-have-looting-enchantment.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shears can have looting enchantment diff --git a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java -index 93d5fad641c5afa679b59dc712f0d0faaddcfe2e..a576b6c009e058cb85bac56dc701bfd2289a1eef 100644 +index 93d5fad641c5afa679b59dc712f0d0faaddcfe2e..1f478844707352072cbcefe34318637c74ff3e15 100644 --- a/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java +++ b/src/main/java/org/bukkit/enchantments/EnchantmentTarget.java @@ -237,6 +237,16 @@ public enum EnchantmentTarget { @@ -17,10 +17,10 @@ index 93d5fad641c5afa679b59dc712f0d0faaddcfe2e..a576b6c009e058cb85bac56dc701bfd2 + /** + * Allow the Enchantment to be placed on shears. + */ -+ SHEARS { ++ WEAPON_AND_SHEARS { + @Override + public boolean includes(@NotNull Material item) { -+ return item.equals(Material.SHEARS); ++ return WEAPON.includes(item) || item.equals(Material.SHEARS); + } // Purpur end }; diff --git a/patches/server/0253-Shears-can-have-looting-enchantment.patch b/patches/server/0253-Shears-can-have-looting-enchantment.patch index 492139a9b..1bfd9ebb9 100644 --- a/patches/server/0253-Shears-can-have-looting-enchantment.patch +++ b/patches/server/0253-Shears-can-have-looting-enchantment.patch @@ -122,7 +122,7 @@ index d60cb629586e6eccfcd79b1b2e4da119550497f3..465bd5c7401ec29d0c43d9add3b07254 this.forceDrops = false; // CraftBukkit } diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java -index d6417c1e77ac8823e18a179dc9f61757a1f339ad..90f3db3401d5b5ea5b9456f21d7f9bff0e48d364 100644 +index d6417c1e77ac8823e18a179dc9f61757a1f339ad..a19dd0946f853193ff32b2b560db27534b8b4abf 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java +++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentCategory.java @@ -104,6 +104,12 @@ public enum EnchantmentCategory { @@ -130,16 +130,16 @@ index d6417c1e77ac8823e18a179dc9f61757a1f339ad..90f3db3401d5b5ea5b9456f21d7f9bff return item instanceof BowItem || item instanceof CrossbowItem; } + }, -+ SHEARS { ++ WEAPON_AND_SHEARS { + @Override + public boolean canEnchant(Item item) { -+ return item instanceof net.minecraft.world.item.ShearsItem; ++ return WEAPON.canEnchant(item) || item instanceof net.minecraft.world.item.ShearsItem; + } // Purpur end }; diff --git a/src/main/java/net/minecraft/world/item/enchantment/LootBonusEnchantment.java b/src/main/java/net/minecraft/world/item/enchantment/LootBonusEnchantment.java -index 6b8a1535086aae7e4e3229d05615fb903188f507..20adfaab6af8cce48fbd489876bf18b43d1ae21c 100644 +index 6b8a1535086aae7e4e3229d05615fb903188f507..60af917083de1b790b1d93d61835a669143068fb 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/LootBonusEnchantment.java +++ b/src/main/java/net/minecraft/world/item/enchantment/LootBonusEnchantment.java @@ -7,6 +7,14 @@ public class LootBonusEnchantment extends Enchantment { @@ -150,7 +150,7 @@ index 6b8a1535086aae7e4e3229d05615fb903188f507..20adfaab6af8cce48fbd489876bf18b4 + @Override + public boolean canEnchant(net.minecraft.world.item.ItemStack stack) { + // we have to cheat the system because this class is loaded before purpur's config is loaded -+ return (org.purpurmc.purpur.PurpurConfig.allowShearsLooting && this.category == EnchantmentCategory.WEAPON ? EnchantmentCategory.SHEARS : this.category).canEnchant(stack.getItem()); ++ return (org.purpurmc.purpur.PurpurConfig.allowShearsLooting && this.category == EnchantmentCategory.WEAPON ? EnchantmentCategory.WEAPON_AND_SHEARS : this.category).canEnchant(stack.getItem()); + } + // Purpur end +