aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit/src')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java8
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/runnable/QuestsAutoSaveRunnable.java4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/WrappedRunnable.java1
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/folia/FoliaServerScheduler.java4
4 files changed, 9 insertions, 8 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index 35fd3fc8..8bfcd00b 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -81,7 +81,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
private TaskTypeManager taskTypeManager;
private QPlayerManager qPlayerManager;
private QuestController questController;
- private QuestCompleter questCompleter;
+ private BukkitQuestCompleter questCompleter;
private BukkitQuestsConfig questsConfig;
private Updater updater;
private ServerScheduler serverScheduler;
@@ -102,7 +102,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
private VersionSpecificHandler versionSpecificHandler;
private LogHistory logHistory;
- private QuestsAutoSaveRunnable questAutoSaveTask;
+ private WrappedTask questAutoSaveTask;
private WrappedTask questQueuePollTask;
private BiFunction<Player, String, String> placeholderAPIProcessor;
@@ -508,7 +508,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
long autoSaveInterval = this.getConfig().getLong("options.performance-tweaking.quest-autosave-interval", 12000);
try {
if (questAutoSaveTask != null) questAutoSaveTask.cancel();
- questAutoSaveTask = new QuestsAutoSaveRunnable(this, autoSaveInterval);
+ questAutoSaveTask = new QuestsAutoSaveRunnable(this).runTaskTimer(getScheduler(), autoSaveInterval, autoSaveInterval);
} catch (Exception ex) {
questsLogger.debug("Cannot cancel and restart quest autosave task");
}
@@ -516,7 +516,7 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
long queueExecuteInterval = this.getConfig().getLong("options.performance-tweaking.quest-queue-executor-interval", 1);
try {
if (questQueuePollTask != null) questQueuePollTask.cancel();
- questQueuePollTask = serverScheduler.runTaskTimer((BukkitQuestCompleter) questCompleter, queueExecuteInterval, queueExecuteInterval);
+ questQueuePollTask = serverScheduler.runTaskTimer(questCompleter, queueExecuteInterval, queueExecuteInterval);
} catch (Exception ex) {
questsLogger.debug("Cannot cancel and restart queue executor task");
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/runnable/QuestsAutoSaveRunnable.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/runnable/QuestsAutoSaveRunnable.java
index d9999a96..3ffc1876 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/runnable/QuestsAutoSaveRunnable.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/runnable/QuestsAutoSaveRunnable.java
@@ -14,14 +14,12 @@ public class QuestsAutoSaveRunnable extends WrappedRunnable {
private final Queue<UUID> queue = new LinkedList<>();
private final BukkitQuestsPlugin plugin;
- public QuestsAutoSaveRunnable(BukkitQuestsPlugin plugin, long autoSaveInterval) {
+ public QuestsAutoSaveRunnable(BukkitQuestsPlugin plugin) {
for (Player player : Bukkit.getOnlinePlayers()) {
queue.add(player.getUniqueId());
}
this.plugin = plugin;
-
- this.runTaskTimer(plugin.getScheduler(), autoSaveInterval, autoSaveInterval);
}
@Override
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/WrappedRunnable.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/WrappedRunnable.java
index 3d8377a4..485f9e14 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/WrappedRunnable.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/WrappedRunnable.java
@@ -33,6 +33,7 @@ public abstract class WrappedRunnable implements Runnable {
*/
@NotNull
public WrappedTask runTaskTimer(@NotNull ServerScheduler serverScheduler, long delay, long period) {
+ checkNotYetScheduled();
return setupTask(serverScheduler.runTaskTimer(this, delay, period));
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/folia/FoliaServerScheduler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/folia/FoliaServerScheduler.java
index d33564b5..7814b79e 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/folia/FoliaServerScheduler.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/scheduler/folia/FoliaServerScheduler.java
@@ -55,7 +55,9 @@ public class FoliaServerScheduler implements ServerScheduler {
@Override
public @NotNull WrappedTask runTaskTimer(@NotNull Runnable runnable, long delay, long period) {
- return new FoliaWrappedTask(globalRegionScheduler.runAtFixedRate(plugin, task -> runnable.run(), delay, period));
+ return new FoliaWrappedTask(globalRegionScheduler.runAtFixedRate(plugin, task -> {
+ if (runnable != null) runnable.run();
+ }, delay, period));
}
@Override