mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Fix more issues with looting shears patch
This commit is contained in:
@@ -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
|
||||
};
|
||||
|
||||
@@ -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
|
||||
+
|
||||
|
||||
Reference in New Issue
Block a user