From 655dd02cffda99141ce8c333daafd68f92cb6341 Mon Sep 17 00:00:00 2001 From: CJH3139 Date: Sun, 5 Oct 2025 13:52:45 -0700 Subject: [PATCH] Added support for plural strings in ExprtextOf --- .../skript/bukkit/misc/expressions/ExprTextOf.java | 5 +++-- .../skript/tests/syntaxes/expressions/ExprTextOf.sk | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/skriptlang/skript/bukkit/misc/expressions/ExprTextOf.java b/src/main/java/org/skriptlang/skript/bukkit/misc/expressions/ExprTextOf.java index 1da8279b618..462fb581c1e 100644 --- a/src/main/java/org/skriptlang/skript/bukkit/misc/expressions/ExprTextOf.java +++ b/src/main/java/org/skriptlang/skript/bukkit/misc/expressions/ExprTextOf.java @@ -17,6 +17,7 @@ import ch.njol.util.coll.CollectionUtils; import net.kyori.adventure.text.serializer.bungeecord.BungeeComponentSerializer; import net.md_5.bungee.api.chat.BaseComponent; +import java.util.Arrays; @Name("Text Of") @Description({ @@ -53,14 +54,14 @@ public class ExprTextOf extends SimplePropertyExpression { public Class @Nullable [] acceptChange(ChangeMode mode) { return switch (mode) { case RESET -> CollectionUtils.array(); - case SET -> CollectionUtils.array(String.class); + case SET -> CollectionUtils.array(String[].class); default -> null; }; } @Override public void change(Event event, Object @Nullable [] delta, ChangeMode mode) { - String value = delta == null ? null : (String) delta[0]; + String value = delta == null ? null : String.join("\n", Arrays.copyOf(delta, delta.length, String[].class)); for (Object object : getExpr().getArray(event)) { if (!(object instanceof TextDisplay textDisplay)) continue; diff --git a/src/test/skript/tests/syntaxes/expressions/ExprTextOf.sk b/src/test/skript/tests/syntaxes/expressions/ExprTextOf.sk index 706df1fa73f..66db8e51911 100644 --- a/src/test/skript/tests/syntaxes/expressions/ExprTextOf.sk +++ b/src/test/skript/tests/syntaxes/expressions/ExprTextOf.sk @@ -23,3 +23,14 @@ test "text of text displays": assert text of {_td} is "" with "failed to reset text" delete entity within {_td} + spawn text display at test-location: + set {_multilineTest} to entity + set text of {_multilineTest} to "test", "testing" and "hello!!!" + assert text of {_multilineTest} is "test%nl%testing%nl%hello!!!" with "multiple lines with list1 set" + set {_line::1} to "hi!" + set {_line::2} to "i am" + set {_line::3} to "skripting..." + set text of {_multilineTest} to {_line::*} + assert text of {_multilineTest} is "hi!%nl%i am%nl%skripting..." with "multiple lines with list2 set" + + delete entity within {_multilineTest}