From 8bcbc4c7cd80984155123a6531ea572387bb71f8 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Thu, 25 Dec 2025 01:07:44 +0200 Subject: [PATCH] Fixed IndexOutOfBounds --- .../gui/util/script/interpreter/Token.java | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/Token.java b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/Token.java index 2de8c2703..55c60fac1 100644 --- a/src/main/java/noppes/npcs/client/gui/util/script/interpreter/Token.java +++ b/src/main/java/noppes/npcs/client/gui/util/script/interpreter/Token.java @@ -140,12 +140,8 @@ public class Token { return; if (methodCallInfo.hasArgCountError()) { - try { - int tokenWidth = ClientProxy.Font.width(text); - ScriptLine.drawCurlyUnderline(x + 1, y, tokenWidth + 1, getUnderlineColor()); - } catch (Exception e) { - - } + int tokenWidth = ClientProxy.Font.width(text); + ScriptLine.drawCurlyUnderline(x + 1, y, tokenWidth + 1, getUnderlineColor()); return; } @@ -160,16 +156,15 @@ public class Token { for (MethodCallInfo.ArgumentTypeError error : methodCallInfo.getArgumentTypeErrors()) { MethodCallInfo.Argument arg = error.getArg(); - int argStart = arg.getStartOffset(); - try { - String beforeArg = line.substring(0, - argStart - parent.getGlobalStart()); - int beforeWidth = ClientProxy.Font.width(beforeArg); - int argWidth = ClientProxy.Font.width(arg.getText()); - ScriptLine.drawCurlyUnderline(x + beforeWidth, y, argWidth, getUnderlineColor()); - } catch (Exception e) { - - } + int lineArgStart = arg.getStartOffset() - parent.getGlobalStart(); + if (lineArgStart < 0 || lineArgStart >= line.length()) + continue; + + String beforeArg = line.substring(0, lineArgStart); + int beforeWidth = ClientProxy.Font.width(beforeArg); + int argWidth = ClientProxy.Font.width(arg.getText()); + ScriptLine.drawCurlyUnderline(x + beforeWidth, y, argWidth, getUnderlineColor()); + } } }