From e65e2ff6232117c296e5474e85c979ef77440be6 Mon Sep 17 00:00:00 2001 From: zyrafaq Date: Wed, 21 Jan 2026 20:30:05 +0100 Subject: [PATCH 1/4] Add option to blacklist mending for armor and elytra --- .../systems/modules/player/AutoMend.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java index 569400a272..dba812cdb8 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java @@ -39,6 +39,13 @@ public class AutoMend extends Module { .build() ); + private final Setting blacklistArmorWearableItems = sgGeneral.add(new BoolSetting.Builder() + .name("blacklist-armor") + .description("Don't mend armor (and elytra).") + .defaultValue(true) + .build() + ); + private final Setting autoDisable = sgGeneral.add(new BoolSetting.Builder() .name("auto-disable") .description("Automatically disables when there are no more items to repair.") @@ -96,6 +103,18 @@ private int getSlot() { for (int i = 0; i < mc.player.getInventory().getMainStacks().size(); i++) { ItemStack itemStack = mc.player.getInventory().getStack(i); if (blacklist.get().contains(itemStack.getItem())) continue; + if (blacklistArmorWearableItems.get()) { + int[] armorSlots = {36, 37, 38, 39}; + boolean isArmor = false; + + for (int slot : armorSlots) { + if (itemStack.getItem() == mc.player.getInventory().getStack(slot).getItem()) { + isArmor = true; + break; + } + } + if (isArmor) continue; + } if (Utils.hasEnchantments(itemStack, Enchantments.MENDING) && itemStack.getDamage() > 0) { return i; From 0ce400913c6b78a29cded245092f8d0fe3b45d28 Mon Sep 17 00:00:00 2001 From: zyrafaq Date: Wed, 21 Jan 2026 20:34:05 +0100 Subject: [PATCH 2/4] Disable AutoMend if no mending items are found in inventory --- .../meteorclient/systems/modules/player/AutoMend.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java index dba812cdb8..90414376d6 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java @@ -62,6 +62,11 @@ public AutoMend() { @Override public void onActivate() { didMove = false; + + if (getSlot() == -1) { + info("No mending items to repair found in inventory, disabling"); + toggle(); + } } @EventHandler From 0794f2cad6c754e5c2c164c03d6710fa6d96b6c1 Mon Sep 17 00:00:00 2001 From: zyrafaq Date: Fri, 23 Jan 2026 21:02:15 +0100 Subject: [PATCH 3/4] Revert "Add option to blacklist mending for armor and elytra" This reverts commit e65e2ff6232117c296e5474e85c979ef77440be6. --- .../systems/modules/player/AutoMend.java | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java index 90414376d6..d3b267ece4 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java @@ -39,13 +39,6 @@ public class AutoMend extends Module { .build() ); - private final Setting blacklistArmorWearableItems = sgGeneral.add(new BoolSetting.Builder() - .name("blacklist-armor") - .description("Don't mend armor (and elytra).") - .defaultValue(true) - .build() - ); - private final Setting autoDisable = sgGeneral.add(new BoolSetting.Builder() .name("auto-disable") .description("Automatically disables when there are no more items to repair.") @@ -108,18 +101,6 @@ private int getSlot() { for (int i = 0; i < mc.player.getInventory().getMainStacks().size(); i++) { ItemStack itemStack = mc.player.getInventory().getStack(i); if (blacklist.get().contains(itemStack.getItem())) continue; - if (blacklistArmorWearableItems.get()) { - int[] armorSlots = {36, 37, 38, 39}; - boolean isArmor = false; - - for (int slot : armorSlots) { - if (itemStack.getItem() == mc.player.getInventory().getStack(slot).getItem()) { - isArmor = true; - break; - } - } - if (isArmor) continue; - } if (Utils.hasEnchantments(itemStack, Enchantments.MENDING) && itemStack.getDamage() > 0) { return i; From 6cf6f6dfecbec7942f71937f5bb4724355eb2f4c Mon Sep 17 00:00:00 2001 From: zyrafaq Date: Fri, 23 Jan 2026 21:08:17 +0100 Subject: [PATCH 4/4] Disable only when the auto-disable option is enabled --- .../meteorclient/systems/modules/player/AutoMend.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java index d3b267ece4..c7e8046aaa 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/player/AutoMend.java @@ -56,7 +56,7 @@ public AutoMend() { public void onActivate() { didMove = false; - if (getSlot() == -1) { + if (autoDisable.get() && getSlot() == -1) { info("No mending items to repair found in inventory, disabling"); toggle(); }