From d101718c909b4f616919cd22059a96056029c3e4 Mon Sep 17 00:00:00 2001 From: TheLimeGlass Date: Fri, 20 Jun 2025 11:35:10 -0600 Subject: [PATCH 1/5] Fixes async help unregister async --- .../ch/njol/skript/command/ScriptCommand.java | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/src/main/java/ch/njol/skript/command/ScriptCommand.java b/src/main/java/ch/njol/skript/command/ScriptCommand.java index 48d6c01dbbc..413fb97ef4e 100644 --- a/src/main/java/ch/njol/skript/command/ScriptCommand.java +++ b/src/main/java/ch/njol/skript/command/ScriptCommand.java @@ -19,6 +19,7 @@ import ch.njol.skript.log.Verbosity; import ch.njol.skript.util.Date; import ch.njol.skript.util.EmptyStacktraceException; +import ch.njol.skript.util.Task; import ch.njol.skript.util.Timespan; import ch.njol.skript.util.Utils; import ch.njol.skript.util.chat.BungeeConverter; @@ -51,6 +52,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Locale; @@ -459,21 +461,27 @@ public void registerHelp() { } public void unregisterHelp() { - Bukkit.getHelpMap().getHelpTopics().removeAll(helps); - final HelpTopic aliases = Bukkit.getHelpMap().getHelpTopic("Aliases"); - if (aliases != null && aliases instanceof IndexHelpTopic) { - try { - final Field topics = IndexHelpTopic.class.getDeclaredField("allTopics"); - topics.setAccessible(true); - @SuppressWarnings("unchecked") - final ArrayList as = new ArrayList<>((Collection) topics.get(aliases)); - as.removeAll(helps); - topics.set(aliases, as); - } catch (final Exception e) { - Skript.outdatedError(e);//, "error unregistering aliases for /" + getName()); + new Task(Skript.getInstance(), 1) { + @Override + public void run() { + Bukkit.getHelpMap().getHelpTopics().removeAll(helps); + + final HelpTopic aliases = Bukkit.getHelpMap().getHelpTopic("Aliases"); + if (aliases != null && aliases instanceof IndexHelpTopic) { + try { + final Field topics = IndexHelpTopic.class.getDeclaredField("allTopics"); + topics.setAccessible(true); + @SuppressWarnings("unchecked") + final ArrayList as = new ArrayList<>((Collection) topics.get(aliases)); + as.removeAll(helps); + topics.set(aliases, as); + } catch (final Exception e) { + Skript.outdatedError(e);//, "error unregistering aliases for /" + getName()); + } + } + helps.clear(); } - } - helps.clear(); + }; } public String getName() { From cd4de6d2973c30d196fabee74596b848e219f9f4 Mon Sep 17 00:00:00 2001 From: TheLimeGlass Date: Fri, 20 Jun 2025 11:46:12 -0600 Subject: [PATCH 2/5] Remove un-used import --- src/main/java/ch/njol/skript/command/ScriptCommand.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ch/njol/skript/command/ScriptCommand.java b/src/main/java/ch/njol/skript/command/ScriptCommand.java index 413fb97ef4e..339b264ee2e 100644 --- a/src/main/java/ch/njol/skript/command/ScriptCommand.java +++ b/src/main/java/ch/njol/skript/command/ScriptCommand.java @@ -52,7 +52,6 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; -import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Locale; From 9968061a97514fc92022511eb8648cc59ac886c5 Mon Sep 17 00:00:00 2001 From: TheLimeGlass Date: Fri, 20 Jun 2025 11:53:43 -0600 Subject: [PATCH 3/5] Change task timing --- src/main/java/ch/njol/skript/command/ScriptCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ch/njol/skript/command/ScriptCommand.java b/src/main/java/ch/njol/skript/command/ScriptCommand.java index 339b264ee2e..edc4f08ba30 100644 --- a/src/main/java/ch/njol/skript/command/ScriptCommand.java +++ b/src/main/java/ch/njol/skript/command/ScriptCommand.java @@ -460,7 +460,7 @@ public void registerHelp() { } public void unregisterHelp() { - new Task(Skript.getInstance(), 1) { + new Task(Skript.getInstance(), 0) { @Override public void run() { Bukkit.getHelpMap().getHelpTopics().removeAll(helps); From fe1a702870eb09a742cb0eb29dbd1432fad4011c Mon Sep 17 00:00:00 2001 From: TheLimeGlass Date: Fri, 20 Jun 2025 12:24:10 -0600 Subject: [PATCH 4/5] Use callSync --- .../java/ch/njol/skript/ScriptLoader.java | 8 +++-- .../ch/njol/skript/command/ScriptCommand.java | 35 +++++++++---------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/main/java/ch/njol/skript/ScriptLoader.java b/src/main/java/ch/njol/skript/ScriptLoader.java index fc99ba3970b..5083ae0f79b 100644 --- a/src/main/java/ch/njol/skript/ScriptLoader.java +++ b/src/main/java/ch/njol/skript/ScriptLoader.java @@ -38,6 +38,7 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; +import java.sql.Struct; import java.util.*; import java.util.concurrent.*; import java.util.function.Supplier; @@ -846,8 +847,11 @@ public static ScriptInfo unloadScripts(Set