From e381a5b35f11df4335ee0540158bd0e6f8fdb5c4 Mon Sep 17 00:00:00 2001 From: LMBishop <13875753+LMBishop@users.noreply.github.com> Date: Mon, 8 Feb 2021 22:43:17 +0000 Subject: Fixes playtime inaccuracies - Closes #111 --- .../quests/tasktypes/types/PlaytimeTaskType.java | 58 +++++++++++----------- 1 file changed, 30 insertions(+), 28 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java index 7d0bd1db..159c1010 100644 --- a/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java +++ b/src/main/java/com/leonardobishop/quests/quests/tasktypes/types/PlaytimeTaskType.java @@ -42,44 +42,46 @@ public final class PlaytimeTaskType extends TaskType { @Override public void onReady() { - this.poll = new BukkitRunnable() { - @Override - public void run() { - for (Player player : Bukkit.getOnlinePlayers()) { - QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId(), true); - QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); - for (Quest quest : PlaytimeTaskType.super.getRegisteredQuests()) { - if (questProgressFile.hasStartedQuest(quest)) { - QuestProgress questProgress = questProgressFile.getQuestProgress(quest); - for (Task task : quest.getTasksOfType(PlaytimeTaskType.super.getType())) { - if (!TaskUtils.validateWorld(player, task)) continue; + if (this.poll == null) { + this.poll = new BukkitRunnable() { + @Override + public void run() { + for (Player player : Bukkit.getOnlinePlayers()) { + QPlayer qPlayer = QuestsAPI.getPlayerManager().getPlayer(player.getUniqueId(), true); + QuestProgressFile questProgressFile = qPlayer.getQuestProgressFile(); + for (Quest quest : PlaytimeTaskType.super.getRegisteredQuests()) { + if (questProgressFile.hasStartedQuest(quest)) { + QuestProgress questProgress = questProgressFile.getQuestProgress(quest); + for (Task task : quest.getTasksOfType(PlaytimeTaskType.super.getType())) { + if (!TaskUtils.validateWorld(player, task)) continue; - TaskProgress taskProgress = questProgress.getTaskProgress(task.getId()); - if (taskProgress.isCompleted()) { - continue; - } - int minutes = (int) task.getConfigValue("minutes"); - if (taskProgress.getProgress() == null) { - taskProgress.setProgress(1); - } else { - taskProgress.setProgress((int) taskProgress.getProgress() + 1); - } - if (((int) taskProgress.getProgress()) >= minutes) { - taskProgress.setCompleted(true); + TaskProgress taskProgress = questProgress.getTaskProgress(task.getId()); + if (taskProgress.isCompleted()) { + continue; + } + int minutes = (int) task.getConfigValue("minutes"); + if (taskProgress.getProgress() == null) { + taskProgress.setProgress(1); + } else { + taskProgress.setProgress((int) taskProgress.getProgress() + 1); + } + if (((int) taskProgress.getProgress()) >= minutes) { + taskProgress.setCompleted(true); + } } } } } } - } - }.runTaskTimer(Quests.get(), 1200L, 1200L); + }.runTaskTimer(Quests.get(), 1200L, 1200L); + } } @Override public void onDisable() { - if (this.poll != null) { - this.poll.cancel(); - } +// if (this.poll != null) { +// this.poll.cancel(); +// } } @Override -- cgit v1.2.3-70-g09d2