Add config option for better mending

This commit is contained in:
William Blake Galbreath
2019-07-18 14:51:58 -05:00
parent 0374eea001
commit 20943ff953
2 changed files with 26 additions and 4 deletions

View File

@@ -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

View File

@@ -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 <blake.galbreath@gmail.com>
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<EnumItemSlot, ItemStack> 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<EnumItemSlot, ItemStack> entry = EnchantmentManager.b(Enchantments.MENDING, (EntityLiving) entityhuman);
+ Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman); // Purpur
+ Entry<EnumItemSlot, ItemStack> 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