From 20943ff953a7e2c17281159a621e1fe86d0b254e Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Thu, 18 Jul 2019 14:51:58 -0500 Subject: [PATCH] Add config option for better mending --- docs/source/configuration.rst | 5 ++++ ...g-mends-most-damages-equipment-first.patch | 25 ++++++++++++++++--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/docs/source/configuration.rst b/docs/source/configuration.rst index 048966fc0..2ee0671f4 100644 --- a/docs/source/configuration.rst +++ b/docs/source/configuration.rst @@ -76,6 +76,11 @@ packed-barrels * **default**: true * **description:** Use large size barrels (6 rows, aka 54 slots) +use-better-mending +~~~~~~~~~~~~~~~~~~ +* **default**: true +* **description:** Set to true for mending enchantment to always repair the most damaged equipment first + logger ~~~~~~ * show-duplicate-entity-uuid-errors diff --git a/patches/server/0057-Mending-mends-most-damages-equipment-first.patch b/patches/server/0057-Mending-mends-most-damages-equipment-first.patch index 3b8f0d89c..eef40b795 100644 --- a/patches/server/0057-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0057-Mending-mends-most-damages-equipment-first.patch @@ -1,4 +1,4 @@ -From 68432314c52bdad2a91adb284bf5eb827b9cd16f Mon Sep 17 00:00:00 2001 +From b3cc317cb6d83594cd0aaa508019925a939d03a5 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sun, 14 Jul 2019 19:52:47 -0500 Subject: [PATCH] Mending mends most damages equipment first @@ -6,7 +6,8 @@ Subject: [PATCH] Mending mends most damages equipment first --- .../minecraft/server/EnchantmentManager.java | 20 +++++++++++++++++++ .../minecraft/server/EntityExperienceOrb.java | 2 +- - 2 files changed, 21 insertions(+), 1 deletion(-) + .../java/net/pl3x/purpur/PurpurConfig.java | 5 +++++ + 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java index 16e6d95cf1..c8ad7fdf39 100644 @@ -40,7 +41,7 @@ index 16e6d95cf1..c8ad7fdf39 100644 public static @Nullable ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, EntityLiving entityliving) { Entry entry = b(enchantment, entityliving); diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java -index 1a98442e08..6d7dc5ed6c 100644 +index 1a98442e08..0e26302758 100644 --- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java +++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java @@ -222,7 +222,7 @@ public class EntityExperienceOrb extends Entity { @@ -48,10 +49,26 @@ index 1a98442e08..6d7dc5ed6c 100644 entityhuman.bF = 2; entityhuman.receive(this, 1); - Entry entry = EnchantmentManager.b(Enchantments.MENDING, (EntityLiving) entityhuman); -+ Entry entry = EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman); // Purpur ++ Entry entry = net.pl3x.purpur.PurpurConfig.useBetterMending ? EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman) : EnchantmentManager.getRandomEquippedItemWithEnchant(Enchantments.MENDING, entityhuman); // Purpur if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); +diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java +index 255b8badc0..3222c7bec6 100644 +--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java ++++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java +@@ -157,6 +157,11 @@ public class PurpurConfig { + fixItemPositionDesync = getBoolean("settings.fix-item-position-desync", fixItemPositionDesync); + } + ++ public static boolean useBetterMending = true; ++ private static void useBetterMending() { ++ useBetterMending = getBoolean("settings.use-better-mending", useBetterMending); ++ } ++ + public static boolean requireShiftToMount = true; + private static void requireShiftToMount() { + requireShiftToMount = getBoolean("settings.mobs.require-shift-to-mount", requireShiftToMount); -- 2.20.1