From e9df3562e70c85f94c75852c76cabf0b3ea2f66c Mon Sep 17 00:00:00 2001 From: Eren KARA Date: Tue, 16 Sep 2025 12:20:53 +0300 Subject: [PATCH 01/11] add global options --- .../java/ch/njol/skript/ScriptLoader.java | 8 +- src/main/java/ch/njol/skript/Skript.java | 2 + .../java/ch/njol/skript/SkriptCommand.java | 6 ++ .../ch/njol/skript/lang/GlobalOptions.java | 98 +++++++++++++++++++ .../njol/skript/structures/StructOptions.java | 3 +- src/main/resources/global-options.sk | 11 +++ src/main/resources/lang/english.lang | 2 + 7 files changed, 123 insertions(+), 7 deletions(-) create mode 100644 src/main/java/ch/njol/skript/lang/GlobalOptions.java create mode 100644 src/main/resources/global-options.sk diff --git a/src/main/java/ch/njol/skript/ScriptLoader.java b/src/main/java/ch/njol/skript/ScriptLoader.java index eb64a4085d0..24936112484 100644 --- a/src/main/java/ch/njol/skript/ScriptLoader.java +++ b/src/main/java/ch/njol/skript/ScriptLoader.java @@ -5,11 +5,7 @@ import ch.njol.skript.config.SectionNode; import ch.njol.skript.config.SimpleNode; import ch.njol.skript.events.bukkit.PreScriptLoadEvent; -import ch.njol.skript.lang.ExecutionIntent; -import ch.njol.skript.lang.Section; -import ch.njol.skript.lang.SkriptParser; -import ch.njol.skript.lang.Statement; -import ch.njol.skript.lang.TriggerItem; +import ch.njol.skript.lang.*; import ch.njol.skript.lang.parser.ParserInstance; import ch.njol.skript.log.CountingLogHandler; import ch.njol.skript.log.LogEntry; @@ -937,7 +933,7 @@ public static String replaceOptions(String string) { return string; OptionsData optionsData = parser.getCurrentScript().getData(OptionsData.class); if (optionsData == null) - return string; + return GlobalOptions.replaceOptions(string); return optionsData.replaceOptions(string); } diff --git a/src/main/java/ch/njol/skript/Skript.java b/src/main/java/ch/njol/skript/Skript.java index 616c20b3e98..6841ca50ea9 100644 --- a/src/main/java/ch/njol/skript/Skript.java +++ b/src/main/java/ch/njol/skript/Skript.java @@ -539,6 +539,8 @@ public void onEnable() { RuntimeErrorManager.refresh(); getRuntimeErrorManager().addConsumer(new BukkitRuntimeErrorConsumer()); + GlobalOptions.load(); + // Now override the verbosity if test mode is enabled if (TestMode.VERBOSITY != null) SkriptLogger.setVerbosity(Verbosity.valueOf(TestMode.VERBOSITY)); diff --git a/src/main/java/ch/njol/skript/SkriptCommand.java b/src/main/java/ch/njol/skript/SkriptCommand.java index d27ec05ed45..2d5554a4707 100644 --- a/src/main/java/ch/njol/skript/SkriptCommand.java +++ b/src/main/java/ch/njol/skript/SkriptCommand.java @@ -5,6 +5,7 @@ import ch.njol.skript.doc.Documentation; import ch.njol.skript.doc.HTMLGenerator; import ch.njol.skript.doc.JSONGenerator; +import ch.njol.skript.lang.GlobalOptions; import ch.njol.skript.localization.ArgsMessage; import ch.njol.skript.localization.Language; import ch.njol.skript.localization.PluralizingArgsMessage; @@ -53,6 +54,7 @@ public class SkriptCommand implements CommandExecutor { .add("config") .add("aliases") .add("scripts") + .add("global-options") .add("