diff --git a/build.gradle b/build.gradle index b90aeb76..f0526e8d 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ java { } group = 'me.playbosswar.com' -version = '8.14.0' +version = '8.14.1' description = 'CommandTimer' repositories { @@ -74,7 +74,7 @@ publishing { maven(MavenPublication) { groupId = 'me.playbosswar.com' artifactId = 'commandtimer' - version = '8.14.0' + version = '8.14.1' from components.java } diff --git a/java17-build.gradle b/java17-build.gradle index 4ba43aed..af128f43 100644 --- a/java17-build.gradle +++ b/java17-build.gradle @@ -10,7 +10,7 @@ java { group = 'me.playbosswar.com' -version = '8.14.0' +version = '8.14.1' description = 'CommandTimer' repositories { @@ -63,7 +63,7 @@ publishing { maven(MavenPublication) { groupId = 'me.playbosswar.com' artifactId = 'commandtimer-java17' - version = '8.14.0' + version = '8.14.1' from components.java } diff --git a/java21-build.gradle b/java21-build.gradle index 2633ed2a..345b52f6 100644 --- a/java21-build.gradle +++ b/java21-build.gradle @@ -10,7 +10,7 @@ java { group = 'me.playbosswar.com' -version = '8.14.0' +version = '8.14.1' description = 'CommandTimer' repositories { @@ -67,7 +67,7 @@ publishing { maven(MavenPublication) { groupId = 'me.playbosswar.com' artifactId = 'commandtimer-java21' - version = '8.14.0' + version = '8.14.1' from components.java } } diff --git a/src/main/java/me/playbosswar/com/CommandTimerPlugin.java b/src/main/java/me/playbosswar/com/CommandTimerPlugin.java index a1d9ec8c..315da0d9 100644 --- a/src/main/java/me/playbosswar/com/CommandTimerPlugin.java +++ b/src/main/java/me/playbosswar/com/CommandTimerPlugin.java @@ -58,10 +58,15 @@ public void onEnable() { plugin = this; instance = this; + this.loadConfig(); + languageManager = new LanguageManager(this, getConfig().getString("language")); + if(FoliaSchedulerAdapter.isSupported()) { schedulerAdapter = new FoliaSchedulerAdapter(this); + Messages.sendConsole("&eUsing Folia scheduler adapter"); } else { - schedulerAdapter = new BukkitSchedulerAdapter(this); + schedulerAdapter = new BukkitSchedulerAdapter(this); + Messages.sendConsole("&eUsing Bukkit scheduler adapter"); } Sentry.init(options -> { @@ -76,8 +81,6 @@ public void onEnable() { ITransaction transaction = Sentry.startTransaction("server_startup", "initiation"); - this.loadConfig(); - languageManager = new LanguageManager(this, getConfig().getString("language")); this.registerCommands(); Bukkit.getPluginManager().registerEvents(new JoinEvents(), this); diff --git a/src/main/java/me/playbosswar/com/scheduler/BukkitSchedulerAdapter.java b/src/main/java/me/playbosswar/com/scheduler/BukkitSchedulerAdapter.java index 5057baf5..60620d33 100644 --- a/src/main/java/me/playbosswar/com/scheduler/BukkitSchedulerAdapter.java +++ b/src/main/java/me/playbosswar/com/scheduler/BukkitSchedulerAdapter.java @@ -25,4 +25,9 @@ public BukkitTask runTask(Runnable runnable) { public BukkitTask runTaskLater(Runnable runnable, long delay) { return Bukkit.getScheduler().runTaskLater(plugin, runnable, delay); } + + @Override + public BukkitTask runTaskAsynchronously(Runnable runnable) { + return Bukkit.getScheduler().runTaskAsynchronously(plugin, runnable); + } } diff --git a/src/main/java/me/playbosswar/com/scheduler/FoliaSchedulerAdapter.java b/src/main/java/me/playbosswar/com/scheduler/FoliaSchedulerAdapter.java index c402d32f..ca3e8f97 100644 --- a/src/main/java/me/playbosswar/com/scheduler/FoliaSchedulerAdapter.java +++ b/src/main/java/me/playbosswar/com/scheduler/FoliaSchedulerAdapter.java @@ -110,6 +110,11 @@ public BukkitTask runTaskLater(Runnable runnable, long delay) { return new ScheduledTask(null); } + @Override + public BukkitTask runTaskAsynchronously(Runnable runnable) { + return runTask(runnable); + } + private class ScheduledTask implements BukkitTask { private final Object task; diff --git a/src/main/java/me/playbosswar/com/scheduler/SchedulerAdapter.java b/src/main/java/me/playbosswar/com/scheduler/SchedulerAdapter.java index 6ecfd9f1..4dd87181 100644 --- a/src/main/java/me/playbosswar/com/scheduler/SchedulerAdapter.java +++ b/src/main/java/me/playbosswar/com/scheduler/SchedulerAdapter.java @@ -8,4 +8,6 @@ public interface SchedulerAdapter { BukkitTask runTask(Runnable runnable); BukkitTask runTaskLater(Runnable runnable, long delay); + + BukkitTask runTaskAsynchronously(Runnable runnable); } diff --git a/src/main/java/me/playbosswar/com/tasks/TasksManager.java b/src/main/java/me/playbosswar/com/tasks/TasksManager.java index 5f68efbe..9546b46d 100644 --- a/src/main/java/me/playbosswar/com/tasks/TasksManager.java +++ b/src/main/java/me/playbosswar/com/tasks/TasksManager.java @@ -35,7 +35,6 @@ public class TasksManager { - private final Plugin plugin; private static final String CONDITION_NO_MATCH = "Conditions did not match"; private static final Random RANDOM = new Random(); private static final String ALPHA_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; @@ -45,7 +44,6 @@ public class TasksManager { public int executionsSinceLastSync = 0; public TasksManager(Plugin plugin) { - this.plugin = plugin; if (plugin.getConfig().getBoolean("database.enabled")) { try { Messages.sendConsole("Loading all tasks from database"); @@ -160,7 +158,7 @@ private boolean runConsolePerUserCommand(Task task, TaskCommand taskCommand, Lis executionsSinceLastSync++; }, (20L * i * taskCommand.getInterval().toSeconds()) + 1); } else { - Bukkit.getScheduler().runTask(plugin, () -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); + CommandTimerPlugin.getScheduler().runTask(() -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); executionsSinceLastSync++; } i++; @@ -185,11 +183,11 @@ private boolean runConsolePerUserOfflineCommand(Task task, TaskCommand taskComma } if (delayedExecutions) { CommandTimerPlugin.getScheduler().runTaskLater(() -> { - Bukkit.getScheduler().runTask(plugin, () -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); + CommandTimerPlugin.getScheduler().runTask(() -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); executionsSinceLastSync++; }, (20L * i * taskCommand.getInterval().toSeconds()) + 1); } else { - Bukkit.getScheduler().runTask(plugin, () -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); + CommandTimerPlugin.getScheduler().runTask(() -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, p))); executionsSinceLastSync++; } i++; @@ -212,7 +210,7 @@ private boolean runConsoleCommand(Task task, TaskCommand taskCommand) throws Com } String command = taskCommand.getCommand(); - Bukkit.getScheduler().runTask(plugin, () -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, null))); + CommandTimerPlugin.getScheduler().runTask(() -> Bukkit.getServer().dispatchCommand(Bukkit.getConsoleSender(), PAPIHook.parsePAPI(command, null))); executionsSinceLastSync++; return true; } @@ -253,7 +251,7 @@ private boolean runPlayerCommand(Task task, TaskCommand taskCommand, List private void runForPlayer(Player p, String command) { String parsedCommand = PAPIHook.parsePAPI(command, p); - Bukkit.getScheduler().runTask(plugin, () -> { + CommandTimerPlugin.getScheduler().runTask(() -> { boolean executed = p.performCommand(parsedCommand); if (!executed) { @@ -305,7 +303,7 @@ private boolean runOperatorCommand(Task task, TaskCommand taskCommand, List p.performCommand(PAPIHook.parsePAPI(command, p))); + CommandTimerPlugin.getScheduler().runTask(() -> p.performCommand(PAPIHook.parsePAPI(command, p))); executionsSinceLastSync++; } @@ -353,7 +351,7 @@ public void processCommandExecution(Task task, TaskCommand taskCommand) { return; } - Bukkit.getScheduler().runTaskAsynchronously(CommandTimerPlugin.getPlugin(), () -> { + CommandTimerPlugin.getScheduler().runTaskAsynchronously(() -> { Gender gender = taskCommand.getGender(); boolean executed = false; diff --git a/src/main/java/me/playbosswar/com/updater/Updater.java b/src/main/java/me/playbosswar/com/updater/Updater.java index b81a7cd5..e5c69ce4 100644 --- a/src/main/java/me/playbosswar/com/updater/Updater.java +++ b/src/main/java/me/playbosswar/com/updater/Updater.java @@ -4,6 +4,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; + +import me.playbosswar.com.CommandTimerPlugin; + import org.bukkit.plugin.Plugin; import java.io.*; @@ -161,7 +164,7 @@ private boolean shouldUpdate(String newVersion, String oldVersion) { */ private void waitThread() { if (thread != null && thread.isAlive()) { - this.plugin.getServer().getScheduler().runTaskAsynchronously(this.plugin, () -> { + CommandTimerPlugin.getScheduler().runTaskAsynchronously(() -> { try { this.plugin.getLogger().log(Level.INFO, "Waiting for updater thread to finish."); thread.join(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index cd547ce8..557eef70 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ main: me.playbosswar.com.CommandTimerPlugin name: "CommandTimer" -version: "8.14.0" +version: "8.14.1" description: "Schedule commands like you want" author: PlayBossWar api-version: 1.13