From c082f588aba4fe4d3823e33cbe239fc5f677d2d6 Mon Sep 17 00:00:00 2001 From: "Alex \"mcmonkey\" Goodwin" Date: Thu, 15 Sep 2022 20:48:06 -0700 Subject: [PATCH] fix text parser issues with extremely long convoluted text --- .../denizen/utilities/FormattedTextHelper.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java index 42dd40e68a..d1978fe1e8 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java +++ b/plugin/src/main/java/com/denizenscript/denizen/utilities/FormattedTextHelper.java @@ -506,7 +506,7 @@ else if (innardType.equals("translate")) { lastText.addExtra(component); } else if (innardType.equals("click") && innardParts.size() == 1) { - int endIndex = findEndIndexFor(str, "click", i + 5); + int endIndex = findEndIndexFor(str, "click", endBracket); if (endIndex == -1) { continue; } @@ -519,7 +519,7 @@ else if (innardType.equals("click") && innardParts.size() == 1) { endBracket = endIndex + "&[/click".length(); } else if (innardType.equals("hover")) { - int endIndex = findEndIndexFor(str, "hover", i + 5); + int endIndex = findEndIndexFor(str, "hover", endBracket); if (endIndex == -1) { continue; } @@ -590,7 +590,7 @@ else if (CoreConfiguration.debugVerbose) { Debug.echoError("Text parse issue: cannot interpret color '" + innardBase.get(1) + "'."); } if (color != null) { - int endIndex = findEndIndexFor(str, "[color=", "[reset=color]", i + 1); + int endIndex = findEndIndexFor(str, "[color=", "[reset=color]", endBracket); if (endIndex == -1) { nextText.setColor(color); } @@ -628,7 +628,7 @@ else if (innardType.equals("gradient") && innardParts.size() == 2) { } } else if (innardType.equals("font")) { - int endIndex = findEndIndexFor(str, "[font=", "[reset=font]", i + 1); + int endIndex = findEndIndexFor(str, "[font=", "[reset=font]", endBracket); if (endIndex == -1) { nextText.setFont(innardBase.get(1)); }