diff --git a/src/main/java/ch/njol/skript/ScriptLoader.java b/src/main/java/ch/njol/skript/ScriptLoader.java index 333d907e306..2bb488806b7 100644 --- a/src/main/java/ch/njol/skript/ScriptLoader.java +++ b/src/main/java/ch/njol/skript/ScriptLoader.java @@ -5,11 +5,8 @@ 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.globals.GlobalOptions; import ch.njol.skript.lang.parser.ParserInstance; import ch.njol.skript.log.CountingLogHandler; import ch.njol.skript.log.LogEntry; @@ -971,7 +968,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 2b8d8c142d1..8f00a6628c4 100644 --- a/src/main/java/ch/njol/skript/Skript.java +++ b/src/main/java/ch/njol/skript/Skript.java @@ -12,6 +12,7 @@ import ch.njol.skript.lang.*; import ch.njol.skript.lang.Effect; import ch.njol.skript.lang.Condition.ConditionType; +import ch.njol.skript.lang.globals.GlobalOptions; import ch.njol.skript.lang.util.SimpleExpression; import ch.njol.skript.localization.Language; import ch.njol.skript.localization.Message; @@ -521,6 +522,13 @@ public void onEnable() { RuntimeErrorManager.refresh(); getRuntimeErrorManager().addConsumer(new BukkitRuntimeErrorConsumer()); + File globalsFolder = new File(Skript.getInstance().getDataFolder(), "/globals/"); + if (!globalsFolder.exists()) { + globalsFolder.mkdir(); + } + + new 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 5592fed5537..bc4146fa7e1 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.globals.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("