diff --git a/gradle.properties b/gradle.properties
index f6647e60f22..8008d0748ff 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -5,7 +5,7 @@ org.gradle.parallel=true
groupid=ch.njol
name=skript
-version=2.9.4
+version=2.9.5
jarName=Skript.jar
testEnv=java21/paper-1.21.3
testEnvJavaVersion=21
diff --git a/src/main/java/ch/njol/skript/ScriptLoader.java b/src/main/java/ch/njol/skript/ScriptLoader.java
index 9d246d9565e..04de09b2b86 100644
--- a/src/main/java/ch/njol/skript/ScriptLoader.java
+++ b/src/main/java/ch/njol/skript/ScriptLoader.java
@@ -1,21 +1,3 @@
-/**
- * This file is part of Skript.
- *
- * Skript is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * Skript is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with Skript. If not, see .
- *
- * Copyright Peter Güttinger, SkriptLang team and contributors
- */
package ch.njol.skript;
import ch.njol.skript.config.Config;
@@ -28,11 +10,9 @@
import ch.njol.skript.lang.Statement;
import ch.njol.skript.lang.TriggerItem;
import ch.njol.skript.lang.TriggerSection;
+import ch.njol.skript.lang.function.EffFunctionCall;
import ch.njol.skript.lang.parser.ParserInstance;
-import ch.njol.skript.log.CountingLogHandler;
-import ch.njol.skript.log.LogEntry;
-import ch.njol.skript.log.RetainingLogHandler;
-import ch.njol.skript.log.SkriptLogger;
+import ch.njol.skript.log.*;
import ch.njol.skript.sections.SecLoop;
import ch.njol.skript.structures.StructOptions.OptionsData;
import ch.njol.skript.util.ExceptionUtils;
@@ -58,17 +38,7 @@
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
+import java.util.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
import java.util.concurrent.CompletableFuture;
@@ -85,7 +55,7 @@ public class ScriptLoader {
public static final String DISABLED_SCRIPT_PREFIX = "-";
public static final int DISABLED_SCRIPT_PREFIX_LENGTH = DISABLED_SCRIPT_PREFIX.length();
-
+
/**
* A class for keeping track of the general content of a script:
*
@@ -99,12 +69,12 @@ public static class ScriptInfo {
public ScriptInfo() {
}
-
+
public ScriptInfo(int numFiles, int numStructures) {
files = numFiles;
structures = numStructures;
}
-
+
/**
* Copy constructor.
* @param other ScriptInfo to copy from
@@ -113,30 +83,30 @@ public ScriptInfo(ScriptInfo other) {
files = other.files;
structures = other.structures;
}
-
+
public void add(ScriptInfo other) {
files += other.files;
structures += other.structures;
}
-
+
public void subtract(ScriptInfo other) {
files -= other.files;
structures -= other.structures;
}
-
+
@Override
public String toString() {
return "ScriptInfo{files=" + files + ",structures=" + structures + "}";
}
}
-
+
/**
* @see ParserInstance#get()
*/
private static ParserInstance getParser() {
return ParserInstance.get();
}
-
+
/*
* Enabled/disabled script tracking
*/
@@ -175,7 +145,7 @@ private boolean isSubDir(File directory, File subDir) {
return false;
}
}));
-
+
/**
* Filter for loaded scripts and folders.
*/
@@ -235,7 +205,7 @@ public static Set