diff --git a/src/main/java/me/eren/skcheese/elements/string/SecNewString.java b/src/main/java/me/eren/skcheese/elements/string/SecNewString.java index 16f380b..279079a 100644 --- a/src/main/java/me/eren/skcheese/elements/string/SecNewString.java +++ b/src/main/java/me/eren/skcheese/elements/string/SecNewString.java @@ -1,5 +1,6 @@ package me.eren.skcheese.elements.string; +import ch.njol.skript.ScriptLoader; import ch.njol.skript.Skript; import ch.njol.skript.classes.Changer; import ch.njol.skript.config.Node; @@ -9,6 +10,7 @@ import ch.njol.skript.doc.Name; import ch.njol.skript.doc.Since; import ch.njol.skript.lang.*; +import ch.njol.skript.localization.Language; import ch.njol.util.Kleenean; import me.eren.skcheese.SkCheese; import org.bukkit.event.Event; @@ -37,6 +39,7 @@ public class SecNewString extends Section { private Expression storeExpression; private final List> expressions = new ArrayList<>(); + @SuppressWarnings("unchecked") @Override public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult, SectionNode sectionNode, List triggerItems) { joinExpression = (Expression) exprs[0]; @@ -50,6 +53,7 @@ public boolean init(Expression[] exprs, int matchedPattern, Kleenean isDelaye for (Node node : sectionNode) { String line = node.getKey(); if (line != null) { + line = ScriptLoader.replaceOptions(line); SkriptParser parser = new SkriptParser(line, SkriptParser.ALL_FLAGS, ParseContext.DEFAULT); expressions.add((Expression) parser.parseExpression(String.class)); } @@ -66,7 +70,8 @@ protected TriggerItem walk(Event e) { for (int i = 0; i < expressions.size(); i++) { Expression stringExpression = expressions.get(i); if (stringExpression != null) { - stringBuilder.append(stringExpression.getSingle(e)); + String string = stringExpression.getSingle(e); + stringBuilder.append(string != null ? string : Language.get("none")); } if (i < expressions.size() - 1) { stringBuilder.append(joinText);