From b4602e3289b4e47d24be71d4225223be0bc8a05c Mon Sep 17 00:00:00 2001 From: dev Date: Thu, 16 Apr 2026 08:58:36 -0700 Subject: [PATCH] fix(Fletching): match "Logs" item name when using LOG material The bank lookup constructed the secondary item name as `material.getName() + " logs"`, producing "Log logs" for LOG material which doesn't match the actual OSRS item name "Logs". Plain logs therefore were never found in the bank and the script shut down with "logs not found". Added FletchingMaterial.getLogItemName() that returns "Logs" for LOG and " logs" for everything else, and routed all three call sites through it. --- .../client/plugins/microbot/fletching/FletchingPlugin.java | 2 +- .../client/plugins/microbot/fletching/FletchingScript.java | 6 +++--- .../plugins/microbot/fletching/enums/FletchingMaterial.java | 3 +++ 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingPlugin.java b/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingPlugin.java index 4955ed7e2b..50e1ad279b 100644 --- a/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingPlugin.java +++ b/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingPlugin.java @@ -27,7 +27,7 @@ @Slf4j public class FletchingPlugin extends Plugin { - public static final String version = "1.6.3"; + public static final String version = "1.6.4"; @Inject private FletchingConfig config; diff --git a/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingScript.java b/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingScript.java index ab1df412ef..2c72f70cb0 100644 --- a/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingScript.java +++ b/src/main/java/net/runelite/client/plugins/microbot/fletching/FletchingScript.java @@ -71,7 +71,7 @@ public void run(FletchingConfig config) { primaryItemToFletch = fletchingMode.getItemName(); if (fletchingMode == FletchingMode.PROGRESSIVE) { - secondaryItemToFletch = (model.getFletchingMaterial().getName() + " logs").trim(); + secondaryItemToFletch = model.getFletchingMaterial().getLogItemName(); hasRequirementsToFletch = Rs2Inventory.hasItem(primaryItemToFletch) && Rs2Inventory.hasItemAmount(secondaryItemToFletch, model.getFletchingItem().getAmountRequired()); hasRequirementsToBank = !Rs2Inventory.hasItem(primaryItemToFletch) @@ -84,7 +84,7 @@ public void run(FletchingConfig config) { } else { secondaryItemToFletch = fletchingMode == FletchingMode.STRUNG ? config.fletchingMaterial().getName() + " " + config.fletchingItem().getContainsInventoryName() + " (u)" - : (config.fletchingMaterial().getName() + " logs").trim(); + : config.fletchingMaterial().getLogItemName(); hasRequirementsToFletch = Rs2Inventory.hasItem(primaryItemToFletch) && Rs2Inventory.hasItemAmount(secondaryItemToFletch, config.fletchingItem().getAmountRequired()); hasRequirementsToBank = !Rs2Inventory.hasItem(primaryItemToFletch) @@ -115,7 +115,7 @@ private void bankItems(FletchingConfig config) { case PROGRESSIVE: Rs2Bank.depositAll(model.getFletchingItem().getContainsInventoryName()); calculateItemToFletch(); - secondaryItemToFletch = (model.getFletchingMaterial().getName() + " logs").trim(); + secondaryItemToFletch = model.getFletchingMaterial().getLogItemName(); break; case PROGRESSIVE_STRUNG: Rs2Bank.depositAll(); diff --git a/src/main/java/net/runelite/client/plugins/microbot/fletching/enums/FletchingMaterial.java b/src/main/java/net/runelite/client/plugins/microbot/fletching/enums/FletchingMaterial.java index e8f0be64e0..0e15b44504 100644 --- a/src/main/java/net/runelite/client/plugins/microbot/fletching/enums/FletchingMaterial.java +++ b/src/main/java/net/runelite/client/plugins/microbot/fletching/enums/FletchingMaterial.java @@ -18,6 +18,9 @@ public enum FletchingMaterial private final String name; + public String getLogItemName() { + return this == LOG ? "Logs" : name + " logs"; + } @Override public String toString()