From f4808846531d732df485ff638b162851c289b1bc Mon Sep 17 00:00:00 2001 From: HSGamer Date: Fri, 18 Aug 2023 17:26:16 +0700 Subject: [PATCH 1/8] Misc, PlayerListener & SQLDatabaseManager --- .../gmail/nossr50/database/SQLDatabaseManager.java | 6 +++--- .../com/gmail/nossr50/listeners/PlayerListener.java | 12 +++++------- src/main/java/com/gmail/nossr50/util/Misc.java | 3 +-- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java index 111b5d7f5..fd18015bb 100644 --- a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java @@ -18,12 +18,12 @@ import org.apache.tomcat.jdbc.pool.DataSource; import org.apache.tomcat.jdbc.pool.PoolProperties; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.sql.*; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; public final class SQLDatabaseManager implements DatabaseManager { @@ -1356,7 +1356,7 @@ public final class SQLDatabaseManager implements DatabaseManager { statement.executeUpdate("ALTER TABLE `" + tablePrefix + "users` ADD `uuid` varchar(36) NULL DEFAULT NULL"); statement.executeUpdate("ALTER TABLE `" + tablePrefix + "users` ADD UNIQUE INDEX `uuid` (`uuid`) USING BTREE"); - new GetUUIDUpdatesRequired().runTaskLaterAsynchronously(mcMMO.p, 100); // wait until after first purge + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new GetUUIDUpdatesRequired(), 100 * Misc.TICK_MS_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); // wait until after first purge } mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS); @@ -1369,7 +1369,7 @@ public final class SQLDatabaseManager implements DatabaseManager { } } - private class GetUUIDUpdatesRequired extends BukkitRunnable { + private class GetUUIDUpdatesRequired implements Runnable { public void run() { massUpdateLock.lock(); List names = new ArrayList<>(); diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 116fbf85f..261f01718 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -49,9 +49,9 @@ import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.player.*; import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; import java.util.Locale; +import java.util.concurrent.TimeUnit; public class PlayerListener implements Listener { private final mcMMO plugin; @@ -149,12 +149,10 @@ public class PlayerListener implements Listener { new MobHealthDisplayUpdaterTask(attacker).run(); // set the name back - new BukkitRunnable() { - @Override - public void run() { - MobHealthbarUtils.handleMobHealthbars(attacker, 0, mcMMO.p); - } - }.runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(attacker, + () -> MobHealthbarUtils.handleMobHealthbars(attacker, 0, mcMMO.p), + Misc.TICK_MS_CONVERSION_FACTOR, TimeUnit.MILLISECONDS + ); } /** diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index adaecc8f9..cc6d28289 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -12,7 +12,6 @@ import org.bukkit.Material; import org.bukkit.block.BlockState; import org.bukkit.entity.*; import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.util.Vector; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -327,7 +326,7 @@ public final class Misc { experienceOrb.setExperience(experienceValue); } - private static class SpawnOrbTask extends BukkitRunnable { + private static class SpawnOrbTask implements Runnable { private final Location location; private int orbExpValue; From 5ed0c47e84ee2458e54d8419e4072c4be93ca4a6 Mon Sep 17 00:00:00 2001 From: HSGamer Date: Fri, 18 Aug 2023 22:20:17 +0700 Subject: [PATCH 2/8] update FoliaLib --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 09658cef3..39df28eb1 100644 --- a/pom.xml +++ b/pom.xml @@ -383,7 +383,7 @@ com.tcoded FoliaLib - 0.2.4 + 0.2.5 compile From c11223b17494a80bfdc3530acaff079fb29e1b0b Mon Sep 17 00:00:00 2001 From: HSGamer Date: Fri, 18 Aug 2023 22:34:08 +0700 Subject: [PATCH 3/8] update & rollback some "big changes" --- .../nossr50/database/SQLDatabaseManager.java | 2 +- .../nossr50/listeners/PlayerListener.java | 5 +- .../nossr50/listeners/WorldListener.java | 2 +- src/main/java/com/gmail/nossr50/mcMMO.java | 8 ++- .../nossr50/runnables/SaveTimerTask.java | 28 ++++----- .../database/UUIDUpdateAsyncTask.java | 2 +- .../java/com/gmail/nossr50/util/Misc.java | 1 - .../util/scoreboards/ScoreboardWrapper.java | 61 +++++++++---------- .../nossr50/util/skills/CombatUtils.java | 2 +- 9 files changed, 52 insertions(+), 59 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java index fd18015bb..5e9d98041 100644 --- a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java @@ -1356,7 +1356,7 @@ public final class SQLDatabaseManager implements DatabaseManager { statement.executeUpdate("ALTER TABLE `" + tablePrefix + "users` ADD `uuid` varchar(36) NULL DEFAULT NULL"); statement.executeUpdate("ALTER TABLE `" + tablePrefix + "users` ADD UNIQUE INDEX `uuid` (`uuid`) USING BTREE"); - mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new GetUUIDUpdatesRequired(), 100 * Misc.TICK_MS_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); // wait until after first purge + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new GetUUIDUpdatesRequired(), 100); // wait until after first purge } mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS); diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 261f01718..78495ba56 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -149,10 +149,7 @@ public class PlayerListener implements Listener { new MobHealthDisplayUpdaterTask(attacker).run(); // set the name back - mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(attacker, - () -> MobHealthbarUtils.handleMobHealthbars(attacker, 0, mcMMO.p), - Misc.TICK_MS_CONVERSION_FACTOR, TimeUnit.MILLISECONDS - ); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(attacker, () -> MobHealthbarUtils.handleMobHealthbars(attacker, 0, mcMMO.p), 1); } /** diff --git a/src/main/java/com/gmail/nossr50/listeners/WorldListener.java b/src/main/java/com/gmail/nossr50/listeners/WorldListener.java index 8a2f3dbcb..725f890eb 100644 --- a/src/main/java/com/gmail/nossr50/listeners/WorldListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/WorldListener.java @@ -37,7 +37,7 @@ public class WorldListener implements Listener { for (BlockState blockState : event.getBlocks()) { mcMMO.getPlaceStore().setFalse(blockState); } - }, 50, TimeUnit.MILLISECONDS); + }, 1); } /** diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 19f838077..d08b2238d 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -242,7 +242,8 @@ public class mcMMO extends JavaPlugin { .getImpl() .runTimer( () -> getLogger().severe("You are running an outdated version of "+platformManager.getServerSoftware()+", mcMMO will not work unless you update to a newer version!"), - 20 * 50L, 1000 * 60 * 30, TimeUnit.MILLISECONDS); + 20, 20*60*30 + ); if(platformManager.getServerSoftware() == ServerSoftwareType.CRAFT_BUKKIT) { @@ -250,7 +251,8 @@ public class mcMMO extends JavaPlugin { .getImpl() .runTimer( () -> getLogger().severe("We have detected you are using incompatible server software, our best guess is that you are using CraftBukkit. mcMMO requires Spigot or Paper, if you are not using CraftBukkit, you will still need to update your custom server software before mcMMO will work."), - 20 * 50L, 1000 * 60 * 30, TimeUnit.MILLISECONDS); + 20, 20*60*30 + ); } } else { registerEvents(); @@ -635,7 +637,7 @@ public class mcMMO extends JavaPlugin { if (generalConfig.getChimaeraEnabled()) { getServer().addRecipe(ChimaeraWing.getChimaeraWingRecipe()); } - }, 40 * 50, TimeUnit.MILLISECONDS); + }, 40); } private void scheduleTasks() { diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index e2c3d3279..d42eb6b2f 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -5,26 +5,22 @@ import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.player.PlayerProfileSaveTask; import com.gmail.nossr50.util.LogUtils; -import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.UserManager; -import com.tcoded.folialib.wrapper.task.WrappedTask; +import org.bukkit.scheduler.BukkitRunnable; -import java.util.concurrent.TimeUnit; +public class SaveTimerTask extends BukkitRunnable { + @Override + public void run() { + LogUtils.debug(mcMMO.p.getLogger(), "[User Data] Saving..."); + // All player data will be saved periodically through this + int count = 1; -public class SaveTimerTask { - public WrappedTask runTaskTimer(long delay, long period) { - return mcMMO.p.getFoliaLib().getImpl().runTimer(() -> { - LogUtils.debug(mcMMO.p.getLogger(), "[User Data] Saving..."); - // All player data will be saved periodically through this - int count = 1; - - for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); - count++; - } + for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { + new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); + count++; + } - PartyManager.saveParties(); - }, delay * Misc.TICK_CONVERSION_FACTOR, period * Misc.TICK_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); + PartyManager.saveParties(); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java index fc59bf2df..7470ebba1 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java @@ -110,7 +110,7 @@ public class UUIDUpdateAsyncTask implements Runnable { // Bukkit runnables don't let themselves reschedule themselves, so we are a pseudo bukkit runnable. private void runTaskLaterAsynchronously(mcMMO plugin, int delay) { - plugin.getFoliaLib().getImpl().runLaterAsync(this, delay, TimeUnit.MILLISECONDS); + plugin.getFoliaLib().getImpl().runLaterAsync(this, delay); } public void start() { diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index cc6d28289..1acd5f089 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -26,7 +26,6 @@ public final class Misc { public static final int TIME_CONVERSION_FACTOR = 1000; public static final int TICK_CONVERSION_FACTOR = 20; - public static final int TICK_MS_CONVERSION_FACTOR = 50; public static final int PLAYER_RESPAWN_COOLDOWN_SECONDS = 5; public static final double SKILL_MESSAGE_MAX_SENDING_DISTANCE = 10.0; diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java index 231fb7bbf..e0d337413 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -18,10 +18,12 @@ import com.gmail.nossr50.util.player.NotificationManager; import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager.SidebarType; import com.gmail.nossr50.util.skills.SkillTools; -import com.tcoded.folialib.wrapper.task.WrappedTask; import org.apache.commons.lang.Validate; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; +import org.bukkit.scheduler.BukkitRunnable; +import org.bukkit.scheduler.BukkitTask; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Score; @@ -30,7 +32,6 @@ import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; public class ScoreboardWrapper { public static final String SIDE_OBJECTIVE = "mcMMO_sideObjective"; @@ -85,40 +86,38 @@ public class ScoreboardWrapper { } } - public WrappedTask updateTask = null; + public BukkitTask updateTask = null; - private class ScoreboardQuickUpdate { - public WrappedTask runTaskLater(long delay) { - return mcMMO.p.getFoliaLib().getImpl().runLater(() -> { - updateSidebar(); - updateTask = null; - }, delay * Misc.TICK_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); + private class ScoreboardQuickUpdate extends BukkitRunnable { + @Override + public void run() { + updateSidebar(); + updateTask = null; } } - public WrappedTask revertTask = null; + public BukkitTask revertTask = null; - private class ScoreboardChangeTask { - public WrappedTask runTaskLater(long delay) { - return mcMMO.p.getFoliaLib().getImpl().runLater(() -> { - tryRevertBoard(); - revertTask = null; - }, delay * Misc.TICK_CONVERSION_FACTOR, TimeUnit.MILLISECONDS); + private class ScoreboardChangeTask extends BukkitRunnable { + @Override + public void run() { + tryRevertBoard(); + revertTask = null; } } - public WrappedTask cooldownTask = null; + public BukkitTask cooldownTask = null; - private class ScoreboardCooldownTask { - public WrappedTask runTaskTimer(long delay, long period) { - return mcMMO.p.getFoliaLib().getImpl().runTimer(() -> { - // Stop updating if it's no longer something displaying cooldowns - if (isBoardShown() && (isSkillScoreboard() || isCooldownScoreboard())) { - doSidebarUpdateSoon(); - } else { - stopCooldownUpdating(); - } - }, delay, period, TimeUnit.MILLISECONDS); + private class ScoreboardCooldownTask extends BukkitRunnable { + @Override + public void run() { + // Stop updating if it's no longer something displaying cooldowns + if (isBoardShown() && (isSkillScoreboard() || isCooldownScoreboard())) { + doSidebarUpdateSoon(); + } + else { + stopCooldownUpdating(); + } } } @@ -126,7 +125,7 @@ public class ScoreboardWrapper { public void doSidebarUpdateSoon() { if (updateTask == null) { // To avoid spamming the scheduler, store the instance and run 2 ticks later - updateTask = new ScoreboardQuickUpdate().runTaskLater(2L); + updateTask = new ScoreboardQuickUpdate().runTaskLater(mcMMO.p, 2L); } } @@ -134,7 +133,7 @@ public class ScoreboardWrapper { if (cooldownTask == null) { // Repeat every 5 seconds. // Cancels once all cooldowns are done, using stopCooldownUpdating(). - cooldownTask = new ScoreboardCooldownTask().runTaskTimer(5 * Misc.TICK_CONVERSION_FACTOR, 5 * Misc.TICK_CONVERSION_FACTOR); + cooldownTask = new ScoreboardCooldownTask().runTaskTimer(mcMMO.p, 5 * Misc.TICK_CONVERSION_FACTOR, 5 * Misc.TICK_CONVERSION_FACTOR); } } @@ -217,7 +216,7 @@ public class ScoreboardWrapper { } player.setScoreboard(scoreboard); - revertTask = new ScoreboardChangeTask().runTaskLater(ticks); + revertTask = new ScoreboardChangeTask().runTaskLater(mcMMO.p, ticks); // TODO is there any way to do the time that looks acceptable? // player.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Timer", StringUtils.capitalize(sidebarType.toString().toLowerCase(Locale.ENGLISH)), ticks / 20F)); @@ -427,7 +426,7 @@ public class ScoreboardWrapper { NotificationManager.sendPlayerInformationChatOnlyPrefixed(player, "Scoreboard.Recovery"); initBoard(); //Start over - mcMMO.p.getFoliaLib().getImpl().runLater(() -> ScoreboardManager.retryLastSkillBoard(player), 0, TimeUnit.MILLISECONDS); + Bukkit.getScheduler().runTaskLater(mcMMO.p, () -> ScoreboardManager.retryLastSkillBoard(player), 0); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index 54f975324..f2f7cf77b 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -983,6 +983,6 @@ public final class CombatUtils { * @param entity the projectile */ public static void delayArrowMetaCleanup(@NotNull Projectile entity) { - mcMMO.p.getFoliaLib().getImpl().runLater(() -> cleanupArrowMetadata(entity), 1000 * 60, TimeUnit.MILLISECONDS); + mcMMO.p.getFoliaLib().getImpl().runLater(() -> cleanupArrowMetadata(entity), 20*60); } } From fce6e645eaba3097fda52529520b619219119637 Mon Sep 17 00:00:00 2001 From: HSGamer Date: Fri, 18 Aug 2023 22:34:43 +0700 Subject: [PATCH 4/8] rollback to start again --- src/main/java/com/gmail/nossr50/mcMMO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index d08b2238d..191a5756b 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -647,7 +647,7 @@ public class mcMMO extends JavaPlugin { long saveIntervalTicks = Math.max(minute, generalConfig.getSaveInterval() * minute); - new SaveTimerTask().runTaskTimer(saveIntervalTicks, saveIntervalTicks); + new SaveTimerTask().runTaskTimer(this, saveIntervalTicks, saveIntervalTicks); // Cleanup the backups folder getFoliaLib().getImpl().runAsync(new CleanBackupsTask()); From 64af17db42fcafceffe89f1c669c6ef3eee26abe Mon Sep 17 00:00:00 2001 From: HSGamer Date: Sun, 20 Aug 2023 21:22:21 +0700 Subject: [PATCH 5/8] update FoliaLib & add CancellableRunnable --- pom.xml | 2 +- .../nossr50/util/CancellableRunnable.java | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/gmail/nossr50/util/CancellableRunnable.java diff --git a/pom.xml b/pom.xml index 39df28eb1..a3cd98487 100644 --- a/pom.xml +++ b/pom.xml @@ -383,7 +383,7 @@ com.tcoded FoliaLib - 0.2.5 + 0.3.0 compile diff --git a/src/main/java/com/gmail/nossr50/util/CancellableRunnable.java b/src/main/java/com/gmail/nossr50/util/CancellableRunnable.java new file mode 100644 index 000000000..a47cdcda3 --- /dev/null +++ b/src/main/java/com/gmail/nossr50/util/CancellableRunnable.java @@ -0,0 +1,28 @@ +package com.gmail.nossr50.util; + +import com.tcoded.folialib.wrapper.task.WrappedTask; + +import java.util.function.Consumer; + +public abstract class CancellableRunnable implements Consumer { + private boolean cancelled = false; + + public void cancel() { + cancelled = true; + } + + public abstract void run(); + + @Override + public void accept(WrappedTask wrappedTask) { + // Run the task if it hasn't been cancelled + if (!cancelled) { + run(); + } + + // Cancel the task if it has been cancelled after running + if (cancelled) { + wrappedTask.cancel(); + } + } +} From 731e2d86914145dbc27749ac6df0b17a7831c59b Mon Sep 17 00:00:00 2001 From: HSGamer Date: Sun, 20 Aug 2023 21:33:29 +0700 Subject: [PATCH 6/8] replace BukkitRunnable to CancellableRunnable --- .../com/gmail/nossr50/database/SQLDatabaseManager.java | 1 - .../java/com/gmail/nossr50/listeners/PlayerListener.java | 1 - .../java/com/gmail/nossr50/listeners/WorldListener.java | 3 --- src/main/java/com/gmail/nossr50/mcMMO.java | 2 -- .../java/com/gmail/nossr50/runnables/CheckDateTask.java | 4 ++-- .../com/gmail/nossr50/runnables/MobDodgeMetaCleanup.java | 4 ++-- .../nossr50/runnables/MobHealthDisplayUpdaterTask.java | 4 ++-- .../com/gmail/nossr50/runnables/PistonTrackerTask.java | 4 ++-- .../java/com/gmail/nossr50/runnables/SaveTimerTask.java | 4 ++-- .../gmail/nossr50/runnables/StickyPistonTrackerTask.java | 4 ++-- .../nossr50/runnables/TravelingBlockMetaCleanup.java | 4 ++-- .../gmail/nossr50/runnables/backups/CleanBackupsTask.java | 4 ++-- .../nossr50/runnables/commands/McScoreboardKeepTask.java | 4 ++-- .../runnables/commands/McrankCommandAsyncTask.java | 4 ++-- .../runnables/commands/McrankCommandDisplayTask.java | 4 ++-- .../nossr50/runnables/commands/MctopCommandAsyncTask.java | 4 ++-- .../runnables/commands/MctopCommandDisplayTask.java | 4 ++-- .../runnables/commands/NotifySquelchReminderTask.java | 4 ++-- .../runnables/database/DatabaseConversionTask.java | 4 ++-- .../nossr50/runnables/database/FormulaConversionTask.java | 4 ++-- .../nossr50/runnables/database/UUIDUpdateAsyncTask.java | 1 - .../gmail/nossr50/runnables/database/UserPurgeTask.java | 4 ++-- .../gmail/nossr50/runnables/items/ChimaeraWingWarmup.java | 4 ++-- .../nossr50/runnables/items/TeleportationWarmup.java | 4 ++-- .../gmail/nossr50/runnables/party/PartyAutoKickTask.java | 4 ++-- .../runnables/player/ClearRegisteredXPGainTask.java | 4 ++-- .../runnables/player/PlayerProfileLoadingTask.java | 6 +++--- .../nossr50/runnables/player/PlayerProfileSaveTask.java | 4 ++-- .../runnables/player/PlayerUpdateInventoryTask.java | 4 ++-- .../nossr50/runnables/player/PowerLevelUpdatingTask.java | 4 ++-- .../nossr50/runnables/skills/AbilityCooldownTask.java | 4 ++-- .../nossr50/runnables/skills/AbilityDisableTask.java | 4 ++-- .../nossr50/runnables/skills/AlchemyBrewCheckTask.java | 4 ++-- .../gmail/nossr50/runnables/skills/AlchemyBrewTask.java | 4 ++-- .../com/gmail/nossr50/runnables/skills/AprilTask.java | 4 ++-- .../gmail/nossr50/runnables/skills/AwardCombatXpTask.java | 4 ++-- .../gmail/nossr50/runnables/skills/BleedTimerTask.java | 4 ++-- .../nossr50/runnables/skills/DelayedCropReplant.java | 8 ++++---- .../runnables/skills/DelayedHerbalismXPCheckTask.java | 4 ++-- .../nossr50/runnables/skills/ExperienceBarHideTask.java | 4 ++-- .../runnables/skills/HerbalismBlockUpdaterTask.java | 4 ++-- .../gmail/nossr50/runnables/skills/MasterAnglerTask.java | 4 ++-- .../com/gmail/nossr50/runnables/skills/RuptureTask.java | 4 ++-- .../runnables/skills/SkillUnlockNotificationTask.java | 4 ++-- .../com/gmail/nossr50/runnables/skills/ToolLowerTask.java | 4 ++-- .../com/gmail/nossr50/skills/archery/TrackedEntity.java | 4 ++-- .../gmail/nossr50/skills/herbalism/HerbalismManager.java | 3 +-- .../gmail/nossr50/skills/taming/TrackedTamingEntity.java | 4 ++-- .../gmail/nossr50/util/player/NotificationManager.java | 1 - .../gmail/nossr50/util/scoreboards/ScoreboardWrapper.java | 8 ++++---- .../java/com/gmail/nossr50/util/skills/CombatUtils.java | 2 -- 51 files changed, 92 insertions(+), 104 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java index 5e9d98041..0be013e7e 100644 --- a/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java +++ b/src/main/java/com/gmail/nossr50/database/SQLDatabaseManager.java @@ -23,7 +23,6 @@ import org.jetbrains.annotations.Nullable; import java.sql.*; import java.util.*; -import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; public final class SQLDatabaseManager implements DatabaseManager { diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 78495ba56..912f70af3 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -51,7 +51,6 @@ import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.ItemStack; import java.util.Locale; -import java.util.concurrent.TimeUnit; public class PlayerListener implements Listener { private final mcMMO plugin; diff --git a/src/main/java/com/gmail/nossr50/listeners/WorldListener.java b/src/main/java/com/gmail/nossr50/listeners/WorldListener.java index 725f890eb..4c24930c6 100644 --- a/src/main/java/com/gmail/nossr50/listeners/WorldListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/WorldListener.java @@ -2,7 +2,6 @@ package com.gmail.nossr50.listeners; import com.gmail.nossr50.config.WorldBlacklist; import com.gmail.nossr50.mcMMO; -import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.block.BlockState; import org.bukkit.event.EventHandler; @@ -12,8 +11,6 @@ import org.bukkit.event.world.ChunkUnloadEvent; import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.WorldUnloadEvent; -import java.util.concurrent.TimeUnit; - public class WorldListener implements Listener { private final mcMMO plugin; diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 191a5756b..7e56af378 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -54,7 +54,6 @@ import com.gmail.nossr50.util.skills.SmeltingTracker; import com.gmail.nossr50.util.upgrade.UpgradeManager; import com.gmail.nossr50.worldguard.WorldGuardManager; import com.tcoded.folialib.FoliaLib; -import com.tcoded.folialib.impl.ServerImplementation; import net.kyori.adventure.platform.bukkit.BukkitAudiences; import net.shatteredlands.shatt.backup.ZipLibrary; import org.bstats.bukkit.Metrics; @@ -76,7 +75,6 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.TimeUnit; public class mcMMO extends JavaPlugin { diff --git a/src/main/java/com/gmail/nossr50/runnables/CheckDateTask.java b/src/main/java/com/gmail/nossr50/runnables/CheckDateTask.java index 9f52ed5bf..e52cb2c25 100644 --- a/src/main/java/com/gmail/nossr50/runnables/CheckDateTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/CheckDateTask.java @@ -3,9 +3,9 @@ //import com.gmail.nossr50.mcMMO; //import com.gmail.nossr50.runnables.skills.AprilTask; //import com.gmail.nossr50.util.Misc; -//import org.bukkit.scheduler.BukkitRunnable; +//import com.gmail.nossr50.util.CancellableRunnable; // -//public class CheckDateTask extends BukkitRunnable { +//public class CheckDateTask extends CancellableRunnable { // // @Override // public void run() { diff --git a/src/main/java/com/gmail/nossr50/runnables/MobDodgeMetaCleanup.java b/src/main/java/com/gmail/nossr50/runnables/MobDodgeMetaCleanup.java index 43e2a2e4b..8087d3c65 100644 --- a/src/main/java/com/gmail/nossr50/runnables/MobDodgeMetaCleanup.java +++ b/src/main/java/com/gmail/nossr50/runnables/MobDodgeMetaCleanup.java @@ -1,12 +1,12 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import org.bukkit.entity.Mob; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -public class MobDodgeMetaCleanup extends BukkitRunnable { +public class MobDodgeMetaCleanup extends CancellableRunnable { private final @NotNull Mob mob; private final @NotNull mcMMO pluginRef; diff --git a/src/main/java/com/gmail/nossr50/runnables/MobHealthDisplayUpdaterTask.java b/src/main/java/com/gmail/nossr50/runnables/MobHealthDisplayUpdaterTask.java index a48375727..8e59fcb5b 100644 --- a/src/main/java/com/gmail/nossr50/runnables/MobHealthDisplayUpdaterTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/MobHealthDisplayUpdaterTask.java @@ -1,11 +1,11 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import org.bukkit.entity.LivingEntity; -import org.bukkit.scheduler.BukkitRunnable; -public class MobHealthDisplayUpdaterTask extends BukkitRunnable { +public class MobHealthDisplayUpdaterTask extends CancellableRunnable { private final LivingEntity target; public MobHealthDisplayUpdaterTask(LivingEntity target) { diff --git a/src/main/java/com/gmail/nossr50/runnables/PistonTrackerTask.java b/src/main/java/com/gmail/nossr50/runnables/PistonTrackerTask.java index 1dc0d4ea6..d4e69c5bc 100644 --- a/src/main/java/com/gmail/nossr50/runnables/PistonTrackerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/PistonTrackerTask.java @@ -2,14 +2,14 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.BlockUtils; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; -import org.bukkit.scheduler.BukkitRunnable; import java.util.List; -public class PistonTrackerTask extends BukkitRunnable { +public class PistonTrackerTask extends CancellableRunnable { private final List blocks; private final BlockFace direction; private final Block futureEmptyBlock; diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index d42eb6b2f..84f810ad8 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -4,11 +4,11 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; import com.gmail.nossr50.runnables.player.PlayerProfileSaveTask; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; import com.gmail.nossr50.util.player.UserManager; -import org.bukkit.scheduler.BukkitRunnable; -public class SaveTimerTask extends BukkitRunnable { +public class SaveTimerTask extends CancellableRunnable { @Override public void run() { LogUtils.debug(mcMMO.p.getLogger(), "[User Data] Saving..."); diff --git a/src/main/java/com/gmail/nossr50/runnables/StickyPistonTrackerTask.java b/src/main/java/com/gmail/nossr50/runnables/StickyPistonTrackerTask.java index 40e21b71b..d8f52ae30 100644 --- a/src/main/java/com/gmail/nossr50/runnables/StickyPistonTrackerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/StickyPistonTrackerTask.java @@ -2,11 +2,11 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.BlockUtils; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; -import org.bukkit.scheduler.BukkitRunnable; -public class StickyPistonTrackerTask extends BukkitRunnable { +public class StickyPistonTrackerTask extends CancellableRunnable { private final BlockFace direction; private final Block block; private final Block movedBlock; diff --git a/src/main/java/com/gmail/nossr50/runnables/TravelingBlockMetaCleanup.java b/src/main/java/com/gmail/nossr50/runnables/TravelingBlockMetaCleanup.java index 2b4dc57ae..366fb2967 100644 --- a/src/main/java/com/gmail/nossr50/runnables/TravelingBlockMetaCleanup.java +++ b/src/main/java/com/gmail/nossr50/runnables/TravelingBlockMetaCleanup.java @@ -1,12 +1,12 @@ package com.gmail.nossr50.runnables; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import org.bukkit.entity.Entity; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -public class TravelingBlockMetaCleanup extends BukkitRunnable { +public class TravelingBlockMetaCleanup extends CancellableRunnable { private final @NotNull Entity entity; private final @NotNull mcMMO pluginRef; diff --git a/src/main/java/com/gmail/nossr50/runnables/backups/CleanBackupsTask.java b/src/main/java/com/gmail/nossr50/runnables/backups/CleanBackupsTask.java index e90705996..c4de1183d 100644 --- a/src/main/java/com/gmail/nossr50/runnables/backups/CleanBackupsTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/backups/CleanBackupsTask.java @@ -1,8 +1,8 @@ package com.gmail.nossr50.runnables.backups; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; -import org.bukkit.scheduler.BukkitRunnable; import java.io.File; import java.text.ParseException; @@ -10,7 +10,7 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.TimeUnit; -public class CleanBackupsTask extends BukkitRunnable { +public class CleanBackupsTask extends CancellableRunnable { private static final String BACKUP_DIRECTORY = mcMMO.getMainDirectory() + "backup" + File.separator; private static final File BACKUP_DIR = new File(BACKUP_DIRECTORY); diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/McScoreboardKeepTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/McScoreboardKeepTask.java index a5d02c1dc..2a9243b0c 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/McScoreboardKeepTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/McScoreboardKeepTask.java @@ -1,10 +1,10 @@ package com.gmail.nossr50.runnables.commands; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class McScoreboardKeepTask extends BukkitRunnable { +public class McScoreboardKeepTask extends CancellableRunnable { private final Player player; public McScoreboardKeepTask(Player player) { diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java index 7311b50bf..ed0e19ad2 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java @@ -2,14 +2,14 @@ package com.gmail.nossr50.runnables.commands; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import org.apache.commons.lang.Validate; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import java.util.Map; -public class McrankCommandAsyncTask extends BukkitRunnable { +public class McrankCommandAsyncTask extends CancellableRunnable { private final String playerName; private final CommandSender sender; private final boolean useBoard, useChat; diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandDisplayTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandDisplayTask.java index 76a68345d..c1067ecf1 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandDisplayTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandDisplayTask.java @@ -3,19 +3,19 @@ package com.gmail.nossr50.runnables.commands; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import com.gmail.nossr50.util.skills.SkillTools; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import java.util.Map; /** * Display the results of McrankCommandAsyncTask to the sender. */ -public class McrankCommandDisplayTask extends BukkitRunnable { +public class McrankCommandDisplayTask extends CancellableRunnable { private final Map skills; private final CommandSender sender; private final String playerName; diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java index 387175cf7..eb0a9ad64 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java @@ -3,14 +3,14 @@ package com.gmail.nossr50.runnables.commands; import com.gmail.nossr50.datatypes.database.PlayerStat; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import org.apache.commons.lang.Validate; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import java.util.List; -public class MctopCommandAsyncTask extends BukkitRunnable { +public class MctopCommandAsyncTask extends CancellableRunnable { private final CommandSender sender; private final PrimarySkillType skill; private final int page; diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java index f105faa42..ed1a2f73c 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandDisplayTask.java @@ -4,19 +4,19 @@ import com.gmail.nossr50.datatypes.database.PlayerStat; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import java.util.List; /** * Display the results of {@link MctopCommandAsyncTask} to the sender. */ -public class MctopCommandDisplayTask extends BukkitRunnable { +public class MctopCommandDisplayTask extends CancellableRunnable { private final List userStats; private final CommandSender sender; private final PrimarySkillType skill; diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java index 4d7b11fc6..9b9fcd6fe 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/NotifySquelchReminderTask.java @@ -1,12 +1,12 @@ package com.gmail.nossr50.runnables.commands; import com.gmail.nossr50.locale.LocaleLoader; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.player.UserManager; import org.bukkit.Bukkit; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class NotifySquelchReminderTask extends BukkitRunnable { +public class NotifySquelchReminderTask extends CancellableRunnable { @Override public void run() { diff --git a/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java b/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java index 83c6ac859..65589947f 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java @@ -3,10 +3,10 @@ package com.gmail.nossr50.runnables.database; import com.gmail.nossr50.database.DatabaseManager; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.command.CommandSender; -import org.bukkit.scheduler.BukkitRunnable; -public class DatabaseConversionTask extends BukkitRunnable { +public class DatabaseConversionTask extends CancellableRunnable { private final DatabaseManager sourceDatabase; private final CommandSender sender; private final String message; diff --git a/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java b/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java index 331c90f92..214d4e58b 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/FormulaConversionTask.java @@ -8,14 +8,14 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.skills.SkillTools; import org.bukkit.command.CommandSender; -import org.bukkit.scheduler.BukkitRunnable; -public class FormulaConversionTask extends BukkitRunnable { +public class FormulaConversionTask extends CancellableRunnable { private final CommandSender sender; private final FormulaType formulaType; diff --git a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java index 7470ebba1..d6336e018 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.CountDownLatch; -import java.util.concurrent.TimeUnit; import java.util.logging.Level; public class UUIDUpdateAsyncTask implements Runnable { diff --git a/src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java b/src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java index cf570e3f2..ab2b4cbea 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/UserPurgeTask.java @@ -1,11 +1,11 @@ package com.gmail.nossr50.runnables.database; import com.gmail.nossr50.mcMMO; -import org.bukkit.scheduler.BukkitRunnable; +import com.gmail.nossr50.util.CancellableRunnable; import java.util.concurrent.locks.ReentrantLock; -public class UserPurgeTask extends BukkitRunnable { +public class UserPurgeTask extends CancellableRunnable { private final ReentrantLock lock = new ReentrantLock(); @Override public void run() { diff --git a/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java index c7409b3ce..bb0996b50 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/ChimaeraWingWarmup.java @@ -3,6 +3,7 @@ package com.gmail.nossr50.runnables.items; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.ChimaeraWing; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Misc; @@ -10,9 +11,8 @@ import com.gmail.nossr50.util.skills.SkillUtils; import org.bukkit.Location; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; -public class ChimaeraWingWarmup extends BukkitRunnable { +public class ChimaeraWingWarmup extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; public ChimaeraWingWarmup(McMMOPlayer mcMMOPlayer) { diff --git a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java index 49ce24aad..52d245227 100644 --- a/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java +++ b/src/main/java/com/gmail/nossr50/runnables/items/TeleportationWarmup.java @@ -4,6 +4,7 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; @@ -11,9 +12,8 @@ import com.gmail.nossr50.util.skills.SkillUtils; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class TeleportationWarmup extends BukkitRunnable { +public class TeleportationWarmup extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final McMMOPlayer mcMMOTarget; diff --git a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java index f66b003b6..18891155c 100644 --- a/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/party/PartyAutoKickTask.java @@ -3,8 +3,8 @@ package com.gmail.nossr50.runnables.party; import com.gmail.nossr50.datatypes.party.Party; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.party.PartyManager; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.OfflinePlayer; -import org.bukkit.scheduler.BukkitRunnable; import java.util.ArrayList; import java.util.HashMap; @@ -12,7 +12,7 @@ import java.util.List; import java.util.Map.Entry; import java.util.UUID; -public class PartyAutoKickTask extends BukkitRunnable { +public class PartyAutoKickTask extends CancellableRunnable { private final static long KICK_TIME = 24L * 60L * 60L * 1000L * mcMMO.p.getGeneralConfig().getAutoPartyKickTime(); @Override diff --git a/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java b/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java index 2c281ee88..47923c7a4 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/ClearRegisteredXPGainTask.java @@ -1,10 +1,10 @@ package com.gmail.nossr50.runnables.player; import com.gmail.nossr50.datatypes.player.McMMOPlayer; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.player.UserManager; -import org.bukkit.scheduler.BukkitRunnable; -public class ClearRegisteredXPGainTask extends BukkitRunnable { +public class ClearRegisteredXPGainTask extends CancellableRunnable { @Override public void run() { for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java index 986882bb8..0ac8485dd 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java @@ -5,6 +5,7 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.commands.McScoreboardKeepTask; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.LogUtils; import com.gmail.nossr50.util.Misc; @@ -12,9 +13,8 @@ import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; import org.bukkit.Server; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class PlayerProfileLoadingTask extends BukkitRunnable { +public class PlayerProfileLoadingTask extends CancellableRunnable { private final Player player; private int attempt = 0; @@ -77,7 +77,7 @@ public class PlayerProfileLoadingTask extends BukkitRunnable { new PlayerProfileLoadingTask(player, attempt).runTaskLaterAsynchronously(mcMMO.p, (100 + (attempt * 100L))); } - private class ApplySuccessfulProfile extends BukkitRunnable { + private class ApplySuccessfulProfile extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private ApplySuccessfulProfile(McMMOPlayer mcMMOPlayer) { diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java index 2a6d30c69..9868c3898 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileSaveTask.java @@ -1,9 +1,9 @@ package com.gmail.nossr50.runnables.player; import com.gmail.nossr50.datatypes.player.PlayerProfile; -import org.bukkit.scheduler.BukkitRunnable; +import com.gmail.nossr50.util.CancellableRunnable; -public class PlayerProfileSaveTask extends BukkitRunnable { +public class PlayerProfileSaveTask extends CancellableRunnable { private final PlayerProfile playerProfile; private final boolean isSync; diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerUpdateInventoryTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerUpdateInventoryTask.java index cdfb17d88..d5361e7ce 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerUpdateInventoryTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PlayerUpdateInventoryTask.java @@ -1,10 +1,10 @@ package com.gmail.nossr50.runnables.player; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; @SuppressWarnings("deprecation") -public class PlayerUpdateInventoryTask extends BukkitRunnable { +public class PlayerUpdateInventoryTask extends CancellableRunnable { private final Player player; public PlayerUpdateInventoryTask(Player player) { diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PowerLevelUpdatingTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PowerLevelUpdatingTask.java index 3f50bce89..da7217261 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PowerLevelUpdatingTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PowerLevelUpdatingTask.java @@ -1,9 +1,9 @@ package com.gmail.nossr50.runnables.player; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.scoreboards.ScoreboardManager; -import org.bukkit.scheduler.BukkitRunnable; -public class PowerLevelUpdatingTask extends BukkitRunnable { +public class PowerLevelUpdatingTask extends CancellableRunnable { @Override public void run() { if (!ScoreboardManager.powerLevelHeartbeat()) { diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java index 56c772a84..69e080972 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityCooldownTask.java @@ -3,10 +3,10 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.player.NotificationManager; -import org.bukkit.scheduler.BukkitRunnable; -public class AbilityCooldownTask extends BukkitRunnable { +public class AbilityCooldownTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final SuperAbilityType ability; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java index 7265b386b..fd87b5a04 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java @@ -4,6 +4,7 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.NotificationManager; @@ -12,9 +13,8 @@ import com.gmail.nossr50.util.skills.SkillUtils; import org.bukkit.Chunk; import org.bukkit.World; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class AbilityDisableTask extends BukkitRunnable { +public class AbilityDisableTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final SuperAbilityType ability; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewCheckTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewCheckTask.java index e81804ac8..68de298f5 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewCheckTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewCheckTask.java @@ -2,15 +2,15 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.skills.alchemy.Alchemy; import com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.Location; import org.bukkit.block.BrewingStand; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import org.bukkit.scheduler.BukkitRunnable; import java.util.Arrays; -public class AlchemyBrewCheckTask extends BukkitRunnable { +public class AlchemyBrewCheckTask extends CancellableRunnable { private final Player player; private final BrewingStand brewingStand; private final ItemStack[] oldInventory; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java index 7a615bd96..a6b5b05c6 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java @@ -7,6 +7,7 @@ import com.gmail.nossr50.events.skills.alchemy.McMMOPlayerCatalysisEvent; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.alchemy.Alchemy; import com.gmail.nossr50.skills.alchemy.AlchemyPotionBrewer; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Permissions; import com.gmail.nossr50.util.player.UserManager; @@ -15,9 +16,8 @@ import org.bukkit.Material; import org.bukkit.block.BlockState; import org.bukkit.block.BrewingStand; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; -public class AlchemyBrewTask extends BukkitRunnable { +public class AlchemyBrewTask extends CancellableRunnable { private static final double DEFAULT_BREW_SPEED = 1.0; private static final int DEFAULT_BREW_TICKS = 400; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AprilTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AprilTask.java index 86fd6b819..9b4aa61a4 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AprilTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AprilTask.java @@ -8,9 +8,9 @@ //import org.bukkit.ChatColor; //import org.bukkit.Statistic; //import org.bukkit.entity.Player; -//import org.bukkit.scheduler.BukkitRunnable; +//import com.gmail.nossr50.util.CancellableRunnable; // -//public class AprilTask extends BukkitRunnable { +//public class AprilTask extends CancellableRunnable { // // @Override // public void run() { diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java index 02e01ed1e..6ced4c66a 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AwardCombatXpTask.java @@ -5,10 +5,10 @@ import com.gmail.nossr50.datatypes.experience.XPGainReason; import com.gmail.nossr50.datatypes.experience.XPGainSource; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.entity.LivingEntity; -import org.bukkit.scheduler.BukkitRunnable; -public class AwardCombatXpTask extends BukkitRunnable { +public class AwardCombatXpTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final double baseXp; private final PrimarySkillType primarySkillType; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java index 839358afd..0cb4d3d13 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/BleedTimerTask.java @@ -15,7 +15,7 @@ //import org.bukkit.entity.Player; //import org.bukkit.event.entity.EntityDamageEvent; //import org.bukkit.inventory.ItemStack; -//import org.bukkit.scheduler.BukkitRunnable; +//import com.gmail.nossr50.util.CancellableRunnable; //import org.jetbrains.annotations.NotNull; // //import java.util.HashMap; @@ -23,7 +23,7 @@ //import java.util.Map; //import java.util.Map.Entry; // -//public class BleedTimerTask extends BukkitRunnable { +//public class BleedTimerTask extends CancellableRunnable { // private static final @NotNull Map bleedList = new HashMap<>(); // private static boolean isIterating = false; // diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java index 31f19fada..65a37d011 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java @@ -2,6 +2,7 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.meta.RecentlyReplantedCropMeta; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.skills.ParticleEffectUtils; import org.bukkit.Location; @@ -14,11 +15,10 @@ import org.bukkit.block.data.BlockData; import org.bukkit.block.data.Directional; import org.bukkit.block.data.type.Cocoa; import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class DelayedCropReplant extends BukkitRunnable { +public class DelayedCropReplant extends CancellableRunnable { private final int desiredCropAge; private final Location cropLocation; @@ -110,7 +110,7 @@ public class DelayedCropReplant extends BukkitRunnable { COCOA } - private static class PhysicsBlockUpdate extends BukkitRunnable { + private static class PhysicsBlockUpdate extends CancellableRunnable { private final Block plantBlock; private final PlantAnchorType plantAnchorType; private BlockFace plantFace; @@ -160,7 +160,7 @@ public class DelayedCropReplant extends BukkitRunnable { - private static class markPlantAsOld extends BukkitRunnable { + private static class markPlantAsOld extends CancellableRunnable { private final Location cropLoc; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java index 3ecc03747..dcc583f02 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedHerbalismXPCheckTask.java @@ -2,11 +2,11 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.BlockSnapshot; import com.gmail.nossr50.datatypes.player.McMMOPlayer; -import org.bukkit.scheduler.BukkitRunnable; +import com.gmail.nossr50.util.CancellableRunnable; import java.util.ArrayList; -public class DelayedHerbalismXPCheckTask extends BukkitRunnable { +public class DelayedHerbalismXPCheckTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final ArrayList chorusBlocks; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java index 23e78909c..34c87b0d4 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/ExperienceBarHideTask.java @@ -2,10 +2,10 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.experience.ExperienceBarManager; -import org.bukkit.scheduler.BukkitRunnable; -public class ExperienceBarHideTask extends BukkitRunnable { +public class ExperienceBarHideTask extends CancellableRunnable { public final McMMOPlayer mcMMOPlayer; public final PrimarySkillType primarySkillType; public final ExperienceBarManager experienceBarManagerRef; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/HerbalismBlockUpdaterTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/HerbalismBlockUpdaterTask.java index 102c9b0b7..e753957e3 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/HerbalismBlockUpdaterTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/HerbalismBlockUpdaterTask.java @@ -1,9 +1,9 @@ package com.gmail.nossr50.runnables.skills; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.block.BlockState; -import org.bukkit.scheduler.BukkitRunnable; -public class HerbalismBlockUpdaterTask extends BukkitRunnable { +public class HerbalismBlockUpdaterTask extends CancellableRunnable { private final BlockState blockState; public HerbalismBlockUpdaterTask(BlockState blockState) { diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/MasterAnglerTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/MasterAnglerTask.java index 0f652e02c..39a6c01b4 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/MasterAnglerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/MasterAnglerTask.java @@ -1,11 +1,11 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.skills.fishing.FishingManager; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.entity.FishHook; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -public class MasterAnglerTask extends BukkitRunnable { +public class MasterAnglerTask extends CancellableRunnable { private final @NotNull FishHook fishHook; private final @NotNull FishingManager fishingManager; private final int lureLevel; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java index 4a93893cb..32ecf72b2 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/RuptureTask.java @@ -3,15 +3,15 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.events.skills.rupture.McMMOEntityDamageByRuptureEvent; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.MetadataConstants; import com.gmail.nossr50.util.skills.ParticleEffectUtils; import com.google.common.base.Objects; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -public class RuptureTask extends BukkitRunnable { +public class RuptureTask extends CancellableRunnable { public static final int DAMAGE_TICK_INTERVAL = 10; public static final int ANIMATION_TICK_INTERVAL = 1; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java index 342f77162..c9b6d87a5 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/SkillUnlockNotificationTask.java @@ -2,11 +2,11 @@ package com.gmail.nossr50.runnables.skills; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.SubSkillType; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.player.NotificationManager; -import org.bukkit.scheduler.BukkitRunnable; -public class SkillUnlockNotificationTask extends BukkitRunnable { +public class SkillUnlockNotificationTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final SubSkillType subSkillType; private final int rank; diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java index ef3cd0561..98f336e84 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/ToolLowerTask.java @@ -4,10 +4,10 @@ import com.gmail.nossr50.datatypes.interactions.NotificationType; import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.ToolType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.player.NotificationManager; -import org.bukkit.scheduler.BukkitRunnable; -public class ToolLowerTask extends BukkitRunnable { +public class ToolLowerTask extends CancellableRunnable { private final McMMOPlayer mcMMOPlayer; private final ToolType tool; diff --git a/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java b/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java index 8cc97cc29..561398934 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java @@ -1,12 +1,12 @@ package com.gmail.nossr50.skills.archery; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import org.bukkit.entity.LivingEntity; -import org.bukkit.scheduler.BukkitRunnable; import java.util.UUID; -public class TrackedEntity extends BukkitRunnable { +public class TrackedEntity extends CancellableRunnable { private final LivingEntity livingEntity; private final UUID id; private int arrowCount; diff --git a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java index 611e69232..fbaba9170 100644 --- a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java +++ b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java @@ -39,7 +39,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.PlayerInventory; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; import java.util.*; @@ -112,7 +111,7 @@ public class HerbalismManager extends SkillManager { } } - private class CheckBushAge extends BukkitRunnable { + private class CheckBushAge extends CancellableRunnable { @NotNull Block block; @NotNull McMMOPlayer mmoPlayer; diff --git a/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java b/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java index 79cd4802b..2a20735f0 100644 --- a/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java +++ b/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java @@ -2,13 +2,13 @@ package com.gmail.nossr50.skills.taming; import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.Misc; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -public class TrackedTamingEntity extends BukkitRunnable { +public class TrackedTamingEntity extends CancellableRunnable { private final @NotNull LivingEntity livingEntity; private final @NotNull CallOfTheWildType callOfTheWildType; private final @NotNull Player player; diff --git a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java index 6bf10c8ea..9a3d8da16 100644 --- a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java @@ -31,7 +31,6 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import java.time.LocalDate; -import java.util.concurrent.TimeUnit; public class NotificationManager { diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java index e0d337413..7f2252b7d 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -12,6 +12,7 @@ import com.gmail.nossr50.events.scoreboard.ScoreboardObjectiveEventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.child.FamilyTree; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.NotificationManager; @@ -22,7 +23,6 @@ import org.apache.commons.lang.Validate; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.scheduler.BukkitTask; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; @@ -88,7 +88,7 @@ public class ScoreboardWrapper { public BukkitTask updateTask = null; - private class ScoreboardQuickUpdate extends BukkitRunnable { + private class ScoreboardQuickUpdate extends CancellableRunnable { @Override public void run() { updateSidebar(); @@ -98,7 +98,7 @@ public class ScoreboardWrapper { public BukkitTask revertTask = null; - private class ScoreboardChangeTask extends BukkitRunnable { + private class ScoreboardChangeTask extends CancellableRunnable { @Override public void run() { tryRevertBoard(); @@ -108,7 +108,7 @@ public class ScoreboardWrapper { public BukkitTask cooldownTask = null; - private class ScoreboardCooldownTask extends BukkitRunnable { + private class ScoreboardCooldownTask extends CancellableRunnable { @Override public void run() { // Stop updating if it's no longer something displaying cooldowns diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index f2f7cf77b..e07b715ed 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -23,7 +23,6 @@ import com.gmail.nossr50.skills.unarmed.UnarmedManager; import com.gmail.nossr50.util.*; import com.gmail.nossr50.util.player.NotificationManager; import com.gmail.nossr50.util.player.UserManager; -import org.bukkit.Bukkit; import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.attribute.Attribute; @@ -40,7 +39,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.List; -import java.util.concurrent.TimeUnit; public final class CombatUtils { From c4616a3674a9b030763a58fff4184ba32adc8841 Mon Sep 17 00:00:00 2001 From: HSGamer Date: Sun, 20 Aug 2023 22:38:46 +0700 Subject: [PATCH 7/8] fix up all runnables --- .../database/ConvertDatabaseCommand.java | 4 ++-- .../experience/ConvertExperienceCommand.java | 4 ++-- .../commands/party/teleport/PtpCommand.java | 2 +- .../commands/player/McrankCommand.java | 2 +- .../nossr50/commands/player/MctopCommand.java | 2 +- .../nossr50/datatypes/player/McMMOPlayer.java | 4 ++-- .../datatypes/player/PlayerProfile.java | 8 +++---- .../nossr50/listeners/BlockListener.java | 2 +- .../nossr50/listeners/EntityListener.java | 2 +- .../nossr50/listeners/InventoryListener.java | 2 +- .../nossr50/listeners/PlayerListener.java | 2 +- src/main/java/com/gmail/nossr50/mcMMO.java | 18 +++++++------- .../nossr50/runnables/SaveTimerTask.java | 2 +- .../commands/McrankCommandAsyncTask.java | 2 +- .../commands/MctopCommandAsyncTask.java | 2 +- .../database/DatabaseConversionTask.java | 2 +- .../database/UUIDUpdateAsyncTask.java | 3 ++- .../player/PlayerProfileLoadingTask.java | 6 ++--- .../runnables/skills/AbilityDisableTask.java | 2 +- .../runnables/skills/AlchemyBrewTask.java | 2 +- .../runnables/skills/DelayedCropReplant.java | 4 ++-- .../skills/acrobatics/AcrobaticsManager.java | 2 +- .../skills/alchemy/AlchemyPotionBrewer.java | 4 ++-- .../skills/archery/ArcheryManager.java | 3 ++- .../nossr50/skills/archery/TrackedEntity.java | 2 +- .../skills/fishing/FishingManager.java | 2 +- .../skills/herbalism/HerbalismManager.java | 6 ++--- .../nossr50/skills/mining/MiningManager.java | 2 +- .../nossr50/skills/swords/SwordsManager.java | 2 +- .../skills/taming/TrackedTamingEntity.java | 2 +- .../com/gmail/nossr50/util/ChimaeraWing.java | 11 +++++---- .../com/gmail/nossr50/util/EventUtils.java | 3 ++- .../java/com/gmail/nossr50/util/Misc.java | 2 +- .../gmail/nossr50/util/MobHealthbarUtils.java | 2 +- .../util/experience/ExperienceBarManager.java | 3 ++- .../util/player/NotificationManager.java | 4 ++-- .../util/scoreboards/ScoreboardWrapper.java | 24 +++++++++---------- .../nossr50/util/skills/CombatUtils.java | 2 +- .../gmail/nossr50/util/skills/RankUtils.java | 2 +- 39 files changed, 80 insertions(+), 75 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java b/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java index 8642bc922..571f1ae35 100644 --- a/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/database/ConvertDatabaseCommand.java @@ -64,10 +64,10 @@ public class ConvertDatabaseCommand implements CommandExecutor { mcMMO.getDatabaseManager().saveUser(profile); } - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player), 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } - new DatabaseConversionTask(oldDatabase, sender, previousType.toString(), newType.toString()).runTaskAsynchronously(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAsync(new DatabaseConversionTask(oldDatabase, sender, previousType.toString(), newType.toString())); return true; } return false; diff --git a/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java b/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java index e15063ebf..3b0ea7ea3 100644 --- a/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/experience/ConvertExperienceCommand.java @@ -36,10 +36,10 @@ public class ConvertExperienceCommand implements CommandExecutor { UserManager.saveAll(); UserManager.clearAll(); - new FormulaConversionTask(sender, newType).runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runLater(new FormulaConversionTask(sender, newType), 1); for (Player player : mcMMO.p.getServer().getOnlinePlayers()) { - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player), 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } return true; diff --git a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java index c892fa7e0..48276c723 100644 --- a/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/party/teleport/PtpCommand.java @@ -250,7 +250,7 @@ public class PtpCommand implements TabExecutor { if (warmup > 0) { teleportingPlayer.sendMessage(LocaleLoader.getString("Teleport.Commencing", warmup)); - new TeleportationWarmup(mcMMOPlayer, mcMMOTarget).runTaskLater(mcMMO.p, 20 * warmup); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(teleportingPlayer, new TeleportationWarmup(mcMMOPlayer, mcMMOTarget), 20 * warmup); } else { EventUtils.handlePartyTeleportEvent(teleportingPlayer, targetPlayer); diff --git a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java index 080be4e08..dcfcdcdbe 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/McrankCommand.java @@ -111,7 +111,7 @@ public class McrankCommand implements TabExecutor { boolean useBoard = mcMMO.p.getGeneralConfig().getScoreboardsEnabled() && (sender instanceof Player) && (mcMMO.p.getGeneralConfig().getRankUseBoard()); boolean useChat = !useBoard || mcMMO.p.getGeneralConfig().getRankUseChat(); - new McrankCommandAsyncTask(playerName, sender, useBoard, useChat).runTaskAsynchronously(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAsync(new McrankCommandAsyncTask(playerName, sender, useBoard, useChat)); } private long getCDSeconds(McMMOPlayer mcMMOPlayer, long cooldownMillis) { diff --git a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java index aaf660bc1..86b1757e9 100644 --- a/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/player/MctopCommand.java @@ -115,7 +115,7 @@ public class MctopCommand implements TabExecutor { boolean useBoard = (sender instanceof Player) && (mcMMO.p.getGeneralConfig().getTopUseBoard()); boolean useChat = !useBoard || mcMMO.p.getGeneralConfig().getTopUseChat(); - new MctopCommandAsyncTask(page, skill, sender, useBoard, useChat).runTaskAsynchronously(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAsync(new MctopCommandAsyncTask(page, skill, sender, useBoard, useChat)); } private PrimarySkillType extractSkill(CommandSender sender, String skillName) { diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java index a22dd3491..0500035d5 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/McMMOPlayer.java @@ -951,7 +951,7 @@ public class McMMOPlayer implements Identified { } setToolPreparationMode(tool, false); - new AbilityDisableTask(this, superAbilityType).runTaskLater(mcMMO.p, (long) ticks * Misc.TICK_CONVERSION_FACTOR); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new AbilityDisableTask(this, superAbilityType), (long) ticks * Misc.TICK_CONVERSION_FACTOR); } public void processAbilityActivation(@NotNull PrimarySkillType primarySkillType) { @@ -1013,7 +1013,7 @@ public class McMMOPlayer implements Identified { } setToolPreparationMode(tool, true); - new ToolLowerTask(this, tool).runTaskLater(mcMMO.p, 4 * Misc.TICK_CONVERSION_FACTOR); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new ToolLowerTask(this, tool), 4 * Misc.TICK_CONVERSION_FACTOR); } } diff --git a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java index 976ee3434..65ebf4c85 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java +++ b/src/main/java/com/gmail/nossr50/datatypes/player/PlayerProfile.java @@ -102,16 +102,16 @@ public class PlayerProfile { } public void scheduleAsyncSave() { - new PlayerProfileSaveTask(this, false).runTaskAsynchronously(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAsync(new PlayerProfileSaveTask(this, false)); } public void scheduleAsyncSaveDelay() { - new PlayerProfileSaveTask(this, false).runTaskLaterAsynchronously(mcMMO.p, 20); + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileSaveTask(this, false), 20); } @Deprecated public void scheduleSyncSaveDelay() { - new PlayerProfileSaveTask(this, true).runTaskLater(mcMMO.p, 20); + mcMMO.p.getFoliaLib().getImpl().runLater(new PlayerProfileSaveTask(this, true), 20); } public void save(boolean useSync) { @@ -138,7 +138,7 @@ public class PlayerProfile { //Back out of async saving if we detect a server shutdown, this is not always going to be caught if(mcMMO.isServerShutdownExecuted() || useSync) - new PlayerProfileSaveTask(this, true).runTask(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runNextTick(new PlayerProfileSaveTask(this, true)); else scheduleAsyncSave(); diff --git a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java index ef9f54eeb..c49c759c9 100644 --- a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java @@ -137,7 +137,7 @@ public class BlockListener implements Listener { final BlockFace direction = event.getDirection(); for (final Block block : event.getBlocks()) { - mcMMO.p.getFoliaLib().getImpl().runAtLocation(block.getLocation(), () -> { + mcMMO.p.getFoliaLib().getImpl().runAtLocation(block.getLocation(), t -> { final Block movedBlock = block.getRelative(direction); if (BlockUtils.isWithinWorldBounds(movedBlock)) { diff --git a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java index 50df709e8..34eaa2113 100644 --- a/src/main/java/com/gmail/nossr50/listeners/EntityListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/EntityListener.java @@ -242,7 +242,7 @@ public class EntityListener implements Listener { entity.setMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK, MetadataConstants.MCMMO_METADATA_VALUE); TravelingBlockMetaCleanup metaCleanupTask = new TravelingBlockMetaCleanup(entity, pluginRef); - metaCleanupTask.runTaskTimer(pluginRef, 20, 20*60); //6000 ticks is 5 minutes + mcMMO.p.getFoliaLib().getImpl().runAtEntityTimer(entity, metaCleanupTask, 20, 20*60); //6000 ticks is 5 minutes } else if (isTracked) { BlockUtils.setUnnaturalBlock(block); diff --git a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java index 6be0eb357..4467ff723 100644 --- a/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/InventoryListener.java @@ -439,7 +439,7 @@ public class InventoryListener implements Listener { return; } - new PlayerUpdateInventoryTask((Player) whoClicked).runTaskLater(plugin, 0); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(whoClicked, new PlayerUpdateInventoryTask((Player) whoClicked)); } } diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 912f70af3..a63b7650e 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -589,7 +589,7 @@ public class PlayerListener implements Listener { Player player = event.getPlayer(); //Delay loading for 3 seconds in case the player has a save task running, its hacky but it should do the trick - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 60); + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player), 60); if (mcMMO.p.getGeneralConfig().getMOTDEnabled() && Permissions.motd(player)) { Motd.displayAll(player); diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 7e56af378..c9e55bef5 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -262,7 +262,7 @@ public class mcMMO extends JavaPlugin { formulaManager = new FormulaManager(); for (Player player : getServer().getOnlinePlayers()) { - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading + getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player), 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } LogUtils.debug(mcMMO.p.getLogger(), "Version " + getDescription().getVersion() + " is enabled!"); @@ -645,7 +645,7 @@ public class mcMMO extends JavaPlugin { long saveIntervalTicks = Math.max(minute, generalConfig.getSaveInterval() * minute); - new SaveTimerTask().runTaskTimer(this, saveIntervalTicks, saveIntervalTicks); + getFoliaLib().getImpl().runTimer(new SaveTimerTask(), saveIntervalTicks, saveIntervalTicks); // Cleanup the backups folder getFoliaLib().getImpl().runAsync(new CleanBackupsTask()); @@ -654,33 +654,33 @@ public class mcMMO extends JavaPlugin { long purgeIntervalTicks = generalConfig.getPurgeInterval() * 60L * 60L * Misc.TICK_CONVERSION_FACTOR; if (purgeIntervalTicks == 0) { - new UserPurgeTask().runTaskLaterAsynchronously(this, 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup. + getFoliaLib().getImpl().runLaterAsync(new UserPurgeTask(), 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup. } else if (purgeIntervalTicks > 0) { - new UserPurgeTask().runTaskTimerAsynchronously(this, purgeIntervalTicks, purgeIntervalTicks); + getFoliaLib().getImpl().runTimerAsync(new UserPurgeTask(), purgeIntervalTicks, purgeIntervalTicks); } // Automatically remove old members from parties long kickIntervalTicks = generalConfig.getAutoPartyKickInterval() * 60L * 60L * Misc.TICK_CONVERSION_FACTOR; if (kickIntervalTicks == 0) { - new PartyAutoKickTask().runTaskLater(this, 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup. + getFoliaLib().getImpl().runLater(new PartyAutoKickTask(), 2 * Misc.TICK_CONVERSION_FACTOR); // Start 2 seconds after startup. } else if (kickIntervalTicks > 0) { - new PartyAutoKickTask().runTaskTimer(this, kickIntervalTicks, kickIntervalTicks); + getFoliaLib().getImpl().runTimer(new PartyAutoKickTask(), kickIntervalTicks, kickIntervalTicks); } // Update power level tag scoreboards - new PowerLevelUpdatingTask().runTaskTimer(this, 2 * Misc.TICK_CONVERSION_FACTOR, 2 * Misc.TICK_CONVERSION_FACTOR); + getFoliaLib().getImpl().runTimer(new PowerLevelUpdatingTask(), 2 * Misc.TICK_CONVERSION_FACTOR, 2 * Misc.TICK_CONVERSION_FACTOR); // Clear the registered XP data so players can earn XP again if (ExperienceConfig.getInstance().getDiminishedReturnsEnabled()) { - new ClearRegisteredXPGainTask().runTaskTimer(this, 60, 60); + getFoliaLib().getImpl().runTimer(new ClearRegisteredXPGainTask(), 60, 60); } if(mcMMO.p.getAdvancedConfig().allowPlayerTips()) { - new NotifySquelchReminderTask().runTaskTimer(this, 60, ((20 * 60) * 60)); + getFoliaLib().getImpl().runTimer(new NotifySquelchReminderTask(), 60, ((20 * 60) * 60)); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index 84f810ad8..e109cce98 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -16,7 +16,7 @@ public class SaveTimerTask extends CancellableRunnable { int count = 1; for (McMMOPlayer mcMMOPlayer : UserManager.getPlayers()) { - new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false).runTaskLaterAsynchronously(mcMMO.p, count); + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileSaveTask(mcMMOPlayer.getProfile(), false), count); count++; } diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java index ed0e19ad2..2897b4388 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/McrankCommandAsyncTask.java @@ -32,7 +32,7 @@ public class McrankCommandAsyncTask extends CancellableRunnable { public void run() { Map skills = mcMMO.getDatabaseManager().readRank(playerName); - new McrankCommandDisplayTask(skills, sender, playerName, useBoard, useChat).runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runNextTick(new McrankCommandDisplayTask(skills, sender, playerName, useBoard, useChat)); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java index eb0a9ad64..a343bc810 100644 --- a/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/commands/MctopCommandAsyncTask.java @@ -35,6 +35,6 @@ public class MctopCommandAsyncTask extends CancellableRunnable { public void run() { final List userStats = mcMMO.getDatabaseManager().readLeaderboard(skill, page, 10); - new MctopCommandDisplayTask(userStats, page, skill, sender, useBoard, useChat).runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runNextTick(new MctopCommandDisplayTask(userStats, page, skill, sender, useBoard, useChat)); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java b/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java index 65589947f..4e59a01fb 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/DatabaseConversionTask.java @@ -21,6 +21,6 @@ public class DatabaseConversionTask extends CancellableRunnable { public void run() { sourceDatabase.convertUsers(mcMMO.getDatabaseManager()); - mcMMO.p.getFoliaLib().getImpl().runNextTick(() -> sender.sendMessage(message)); + mcMMO.p.getFoliaLib().getImpl().runNextTick(t -> sender.sendMessage(message)); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java index d6336e018..44b7cf36f 100644 --- a/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/database/UUIDUpdateAsyncTask.java @@ -2,6 +2,7 @@ package com.gmail.nossr50.runnables.database; import com.gmail.nossr50.datatypes.database.UpgradeType; import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.Misc; import com.google.common.collect.ImmutableList; import com.google.gson.Gson; @@ -20,7 +21,7 @@ import java.util.UUID; import java.util.concurrent.CountDownLatch; import java.util.logging.Level; -public class UUIDUpdateAsyncTask implements Runnable { +public class UUIDUpdateAsyncTask extends CancellableRunnable { private static final Gson GSON = new Gson(); private static final String PROFILE_URL = "https://api.mojang.com/profiles/minecraft"; diff --git a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java index 0ac8485dd..6cd865055 100644 --- a/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/player/PlayerProfileLoadingTask.java @@ -52,7 +52,7 @@ public class PlayerProfileLoadingTask extends CancellableRunnable { // If successful, schedule the apply if (profile.isLoaded()) { - new ApplySuccessfulProfile(new McMMOPlayer(player, profile)).runTask(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(player, new ApplySuccessfulProfile(new McMMOPlayer(player, profile))); EventUtils.callPlayerProfileLoadEvent(player, profile); return; } @@ -74,7 +74,7 @@ public class PlayerProfileLoadingTask extends CancellableRunnable { // Increment attempt counter and try attempt++; - new PlayerProfileLoadingTask(player, attempt).runTaskLaterAsynchronously(mcMMO.p, (100 + (attempt * 100L))); + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player, attempt), (100 + (attempt * 100L))); } private class ApplySuccessfulProfile extends CancellableRunnable { @@ -104,7 +104,7 @@ public class PlayerProfileLoadingTask extends CancellableRunnable { if (mcMMO.p.getGeneralConfig().getShowStatsAfterLogin()) { ScoreboardManager.enablePlayerStatsScoreboard(player); - new McScoreboardKeepTask(player).runTaskLater(mcMMO.p, Misc.TICK_CONVERSION_FACTOR); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new McScoreboardKeepTask(player), Misc.TICK_CONVERSION_FACTOR); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java index fd87b5a04..a789171e0 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AbilityDisableTask.java @@ -63,7 +63,7 @@ public class AbilityDisableTask extends CancellableRunnable { SkillUtils.sendSkillMessage(player, NotificationType.SUPER_ABILITY_ALERT_OTHERS, ability.getAbilityPlayerOff()); } if(!mcMMO.isServerShutdownExecuted()) { - new AbilityCooldownTask(mcMMOPlayer, ability).runTaskLater(mcMMO.p, (long) PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new AbilityCooldownTask(mcMMOPlayer, ability), (long) PerksUtils.handleCooldownPerks(player, ability.getCooldown()) * Misc.TICK_CONVERSION_FACTOR); } } diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java index a6b5b05c6..de5ea2adb 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/AlchemyBrewTask.java @@ -62,7 +62,7 @@ public class AlchemyBrewTask extends CancellableRunnable { fuel--; Alchemy.brewingStandMap.put(location, this); - this.runTaskTimer(mcMMO.p, 1, 1); + mcMMO.p.getFoliaLib().getImpl().runAtLocationTimer(location, this, 1, 1); } @Override diff --git a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java index 65a37d011..927e9a3f8 100644 --- a/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java +++ b/src/main/java/com/gmail/nossr50/runnables/skills/DelayedCropReplant.java @@ -54,7 +54,7 @@ public class DelayedCropReplant extends CancellableRunnable { PlantAnchorType plantAnchorType = PlantAnchorType.NORMAL; //Remove the metadata marking the block as recently replanted - new markPlantAsOld(blockBreakEvent.getBlock().getLocation()).runTaskLater(mcMMO.p, 10); + mcMMO.p.getFoliaLib().getImpl().runAtLocationLater(blockBreakEvent.getBlock().getLocation(), new markPlantAsOld(blockBreakEvent.getBlock().getLocation()), 10); if(blockBreakEvent.isCancelled()) { wasImmaturePlant = true; @@ -101,7 +101,7 @@ public class DelayedCropReplant extends CancellableRunnable { //Play an effect ParticleEffectUtils.playGreenThumbEffect(cropLocation); - new PhysicsBlockUpdate(newState.getBlock(), cropFace, plantAnchorType).runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runAtLocationLater(newState.getLocation(), new PhysicsBlockUpdate(newState.getBlock(), cropFace, plantAnchorType), 1); } } diff --git a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java b/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java index b9c558d1a..a0758bacc 100644 --- a/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/acrobatics/AcrobaticsManager.java @@ -113,7 +113,7 @@ public class AcrobaticsManager extends SkillManager { applyXpGain((float) (damage * Acrobatics.dodgeXpModifier), XPGainReason.PVE); mob.setMetadata(MetadataConstants.METADATA_KEY_DODGE_TRACKER, new FixedMetadataValue(mcMMO.p, count + 1)); MobDodgeMetaCleanup metaCleanupTask = new MobDodgeMetaCleanup(mob, mcMMO.p); - metaCleanupTask.runTaskTimer(mcMMO.p, 20, 20*60); //one minute + mcMMO.p.getFoliaLib().getImpl().runAtEntityTimer(mob, metaCleanupTask, 20, 20*60); //one minute } } else { applyXpGain((float) (damage * Acrobatics.dodgeXpModifier), XPGainReason.PVE); diff --git a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java index 116fe64e6..2a11b0159 100644 --- a/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java +++ b/src/main/java/com/gmail/nossr50/skills/alchemy/AlchemyPotionBrewer.java @@ -259,13 +259,13 @@ public final class AlchemyPotionBrewer { } public static void scheduleCheck(Player player, BrewingStand brewingStand) { - new AlchemyBrewCheckTask(player, brewingStand).runTask(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(player, new AlchemyBrewCheckTask(player, brewingStand)); } public static void scheduleUpdate(Inventory inventory) { for (HumanEntity humanEntity : inventory.getViewers()) { if (humanEntity instanceof Player) { - new PlayerUpdateInventoryTask((Player) humanEntity).runTask(mcMMO.p); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(humanEntity, new PlayerUpdateInventoryTask((Player) humanEntity)); } } } diff --git a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java index 29b03457e..56dd26aaa 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/ArcheryManager.java @@ -96,7 +96,8 @@ public class ArcheryManager extends SkillManager { Location dazedLocation = defender.getLocation(); dazedLocation.setPitch(90 - Misc.getRandom().nextInt(181)); - defender.teleport(dazedLocation); +// defender.teleport(dazedLocation); + mcMMO.p.getFoliaLib().getImpl().teleportAsync(defender, dazedLocation); defender.addPotionEffect(new PotionEffect(PotionEffectType.CONFUSION, 20 * 10, 10)); diff --git a/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java b/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java index 561398934..613ddaf70 100644 --- a/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java +++ b/src/main/java/com/gmail/nossr50/skills/archery/TrackedEntity.java @@ -15,7 +15,7 @@ public class TrackedEntity extends CancellableRunnable { this.livingEntity = livingEntity; this.id = livingEntity.getUniqueId(); - this.runTaskTimer(mcMMO.p, 12000, 12000); + mcMMO.p.getFoliaLib().getImpl().runAtEntityTimer(livingEntity, this, 12000, 12000); } @Override diff --git a/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java b/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java index 4b3a03432..7f3767986 100644 --- a/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/fishing/FishingManager.java @@ -244,7 +244,7 @@ public class FishingManager extends SkillManager { } public void masterAngler(@NotNull FishHook hook, int lureLevel) { - new MasterAnglerTask(hook, this, lureLevel).runTaskLater(mcMMO.p, 0); //We run later to get the lure bonus applied + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(hook, new MasterAnglerTask(hook, this, lureLevel), 1); //We run later to get the lure bonus applied } /** diff --git a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java index fbaba9170..e5fb8e0c4 100644 --- a/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java +++ b/src/main/java/com/gmail/nossr50/skills/herbalism/HerbalismManager.java @@ -106,7 +106,7 @@ public class HerbalismManager extends SkillManager { } CheckBushAge checkBushAge = new CheckBushAge(blockState.getBlock(), mmoPlayer, xpReward); - checkBushAge.runTaskLater(mcMMO.p, 1); + mcMMO.p.getFoliaLib().getImpl().runAtLocationLater(blockState.getLocation(), checkBushAge, 1); } } } @@ -310,7 +310,7 @@ public class HerbalismManager extends SkillManager { DelayedHerbalismXPCheckTask delayedHerbalismXPCheckTask = new DelayedHerbalismXPCheckTask(mmoPlayer, delayedChorusBlocks); //Large delay because the tree takes a while to break - delayedHerbalismXPCheckTask.runTaskLater(mcMMO.p, 0); //Calculate Chorus XP + Bonus Drops 1 tick later + mcMMO.p.getFoliaLib().getImpl().runAtEntity(mmoPlayer.getPlayer(), delayedHerbalismXPCheckTask); //Calculate Chorus XP + Bonus Drops 1 tick later } } @@ -741,7 +741,7 @@ public class HerbalismManager extends SkillManager { */ private void startReplantTask(int desiredCropAge, BlockBreakEvent blockBreakEvent, BlockState cropState, boolean isImmature) { //Mark the plant as recently replanted to avoid accidental breakage - new DelayedCropReplant(blockBreakEvent, cropState, desiredCropAge, isImmature).runTaskLater(mcMMO.p, 20 * 2); + mcMMO.p.getFoliaLib().getImpl().runAtLocationLater(blockBreakEvent.getBlock().getLocation(), new DelayedCropReplant(blockBreakEvent, cropState, desiredCropAge, isImmature), 2 * Misc.TICK_CONVERSION_FACTOR); blockBreakEvent.getBlock().setMetadata(MetadataConstants.METADATA_KEY_REPLANT, new RecentlyReplantedCropMeta(mcMMO.p, true)); } diff --git a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java index 5b6336149..030104d4f 100644 --- a/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java +++ b/src/main/java/com/gmail/nossr50/skills/mining/MiningManager.java @@ -130,7 +130,7 @@ public class MiningManager extends SkillManager { mmoPlayer.setAbilityDATS(SuperAbilityType.BLAST_MINING, System.currentTimeMillis()); mmoPlayer.setAbilityInformed(SuperAbilityType.BLAST_MINING, false); - new AbilityCooldownTask(mmoPlayer, SuperAbilityType.BLAST_MINING).runTaskLater(mcMMO.p, (long) SuperAbilityType.BLAST_MINING.getCooldown() * Misc.TICK_CONVERSION_FACTOR); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(mmoPlayer.getPlayer(), new AbilityCooldownTask(mmoPlayer, SuperAbilityType.BLAST_MINING), (long) SuperAbilityType.BLAST_MINING.getCooldown() * Misc.TICK_CONVERSION_FACTOR); } /** diff --git a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java index 5b34fcc34..af542e638 100644 --- a/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java +++ b/src/main/java/com/gmail/nossr50/skills/swords/SwordsManager.java @@ -95,7 +95,7 @@ public class SwordsManager extends SkillManager { RuptureTaskMeta ruptureTaskMeta = new RuptureTaskMeta(mcMMO.p, ruptureTask); - ruptureTask.runTaskTimer(mcMMO.p, 0, 1); + mcMMO.p.getFoliaLib().getImpl().runAtEntityTimer(mmoPlayer.getPlayer(), ruptureTask, 0, 1); target.setMetadata(MetadataConstants.METADATA_KEY_RUPTURE, ruptureTaskMeta); // if (mmoPlayer.useChatNotifications()) { diff --git a/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java b/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java index 2a20735f0..8af370b9e 100644 --- a/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java +++ b/src/main/java/com/gmail/nossr50/skills/taming/TrackedTamingEntity.java @@ -22,7 +22,7 @@ public class TrackedTamingEntity extends CancellableRunnable { if (tamingCOTWLength > 0) { int length = tamingCOTWLength * Misc.TICK_CONVERSION_FACTOR; - this.runTaskLater(mcMMO.p, length); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(livingEntity, this, length); } } diff --git a/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java b/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java index 07bace1a5..e6ea0582c 100644 --- a/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java +++ b/src/main/java/com/gmail/nossr50/util/ChimaeraWing.java @@ -112,7 +112,7 @@ public final class ChimaeraWing { if (warmup > 0) { NotificationManager.sendPlayerInformation(player, NotificationType.ITEM_MESSAGE, "Teleport.Commencing", String.valueOf(warmup)); - new ChimaeraWingWarmup(mcMMOPlayer).runTaskLater(mcMMO.p, 20 * warmup); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new ChimaeraWingWarmup(mcMMOPlayer), 20 * warmup); } else { chimaeraExecuteTeleport(); @@ -123,15 +123,18 @@ public final class ChimaeraWing { Player player = mcMMOPlayer.getPlayer(); if (mcMMO.p.getGeneralConfig().getChimaeraUseBedSpawn() && player.getBedSpawnLocation() != null) { - player.teleport(player.getBedSpawnLocation()); +// player.teleport(player.getBedSpawnLocation()); + mcMMO.p.getFoliaLib().getImpl().teleportAsync(player, player.getBedSpawnLocation()); } else { Location spawnLocation = player.getWorld().getSpawnLocation(); if (spawnLocation.getBlock().getType() == Material.AIR) { - player.teleport(spawnLocation); +// player.teleport(spawnLocation); + mcMMO.p.getFoliaLib().getImpl().teleportAsync(player, spawnLocation); } else { - player.teleport(player.getWorld().getHighestBlockAt(spawnLocation).getLocation()); +// player.teleport(player.getWorld().getHighestBlockAt(spawnLocation).getLocation()); + mcMMO.p.getFoliaLib().getImpl().teleportAsync(player, player.getWorld().getHighestBlockAt(spawnLocation).getLocation()); } } diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index 5d8ed9035..3e5035b40 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -367,7 +367,8 @@ public final class EventUtils { return; } - teleportingPlayer.teleport(targetPlayer); +// teleportingPlayer.teleport(targetPlayer); + mcMMO.p.getFoliaLib().getImpl().teleportAsync(teleportingPlayer, targetPlayer.getLocation()); teleportingPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Player", targetPlayer.getName())); targetPlayer.sendMessage(LocaleLoader.getString("Party.Teleport.Target", teleportingPlayer.getName())); diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index 1acd5f089..bbd9bb999 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -254,7 +254,7 @@ public final class Misc { if (player != null) { UserManager.remove(player); - new PlayerProfileLoadingTask(player).runTaskLaterAsynchronously(mcMMO.p, 1); // 1 Tick delay to ensure the player is marked as online before we begin loading + mcMMO.p.getFoliaLib().getImpl().runLaterAsync(new PlayerProfileLoadingTask(player), 1); // 1 Tick delay to ensure the player is marked as online before we begin loading } } diff --git a/src/main/java/com/gmail/nossr50/util/MobHealthbarUtils.java b/src/main/java/com/gmail/nossr50/util/MobHealthbarUtils.java index 285d88981..d4a660ca1 100644 --- a/src/main/java/com/gmail/nossr50/util/MobHealthbarUtils.java +++ b/src/main/java/com/gmail/nossr50/util/MobHealthbarUtils.java @@ -81,7 +81,7 @@ public final class MobHealthbarUtils { target.setMetadata(MetadataConstants.METADATA_KEY_NAME_VISIBILITY, new FixedMetadataValue(mcMMO.p, false)); } - new MobHealthDisplayUpdaterTask(target).runTaskLater(mcMMO.p, (long) displayTime * Misc.TICK_CONVERSION_FACTOR); // Clear health display after 3 seconds + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(target, new MobHealthDisplayUpdaterTask(target), (long) displayTime * Misc.TICK_CONVERSION_FACTOR); // Clear health display after 3 seconds } } diff --git a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java b/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java index e77641d32..c4617bd69 100644 --- a/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java +++ b/src/main/java/com/gmail/nossr50/util/experience/ExperienceBarManager.java @@ -5,6 +5,7 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.skills.ExperienceBarHideTask; +import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.NotificationManager; import org.bukkit.plugin.Plugin; import org.jetbrains.annotations.NotNull; @@ -77,7 +78,7 @@ public class ExperienceBarManager { return; ExperienceBarHideTask experienceBarHideTask = new ExperienceBarHideTask(this, mcMMOPlayer, primarySkillType); - experienceBarHideTask.runTaskLater(plugin, 20L * delaySeconds); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(mcMMOPlayer.getPlayer(), experienceBarHideTask, (long) delaySeconds * Misc.TICK_CONVERSION_FACTOR); experienceBarHideTaskHashMap.put(primarySkillType, experienceBarHideTask); } diff --git a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java index 9a3d8da16..d7b9afcd0 100644 --- a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java @@ -296,7 +296,7 @@ public class NotificationManager { String localeMessage = LocaleLoader.getString("Broadcasts.LevelUpMilestone", mmoPlayer.getPlayer().getDisplayName(), level, mcMMO.p.getSkillTools().getLocalizedSkillName(primarySkillType)); Component message = LegacyComponentSerializer.legacySection().deserialize(localeMessage).hoverEvent(levelMilestoneHover); - mcMMO.p.getFoliaLib().getImpl().runNextTick(() -> audience.sendMessage(Identity.nil(), message)); + mcMMO.p.getFoliaLib().getImpl().runNextTick(t -> audience.sendMessage(Identity.nil(), message)); } } } @@ -331,7 +331,7 @@ public class NotificationManager { String localeMessage = LocaleLoader.getString("Broadcasts.PowerLevelUpMilestone", mmoPlayer.getPlayer().getDisplayName(), powerLevel); Component message = LegacyComponentSerializer.legacySection().deserialize(localeMessage).hoverEvent(levelMilestoneHover); - mcMMO.p.getFoliaLib().getImpl().runNextTick(() -> audience.sendMessage(Identity.nil(), message)); + mcMMO.p.getFoliaLib().getImpl().runNextTick(t -> audience.sendMessage(Identity.nil(), message)); } } } diff --git a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java index 7f2252b7d..1237ce086 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -12,18 +12,16 @@ import com.gmail.nossr50.events.scoreboard.ScoreboardObjectiveEventReason; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.skills.child.FamilyTree; -import com.gmail.nossr50.util.CancellableRunnable; import com.gmail.nossr50.util.LogUtils; import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.player.NotificationManager; import com.gmail.nossr50.util.player.UserManager; import com.gmail.nossr50.util.scoreboards.ScoreboardManager.SidebarType; import com.gmail.nossr50.util.skills.SkillTools; +import com.tcoded.folialib.wrapper.task.WrappedTask; import org.apache.commons.lang.Validate; -import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitTask; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Score; @@ -86,9 +84,9 @@ public class ScoreboardWrapper { } } - public BukkitTask updateTask = null; + public WrappedTask updateTask = null; - private class ScoreboardQuickUpdate extends CancellableRunnable { + private class ScoreboardQuickUpdate implements Runnable { @Override public void run() { updateSidebar(); @@ -96,9 +94,9 @@ public class ScoreboardWrapper { } } - public BukkitTask revertTask = null; + public WrappedTask revertTask = null; - private class ScoreboardChangeTask extends CancellableRunnable { + private class ScoreboardChangeTask implements Runnable { @Override public void run() { tryRevertBoard(); @@ -106,9 +104,9 @@ public class ScoreboardWrapper { } } - public BukkitTask cooldownTask = null; + public WrappedTask cooldownTask = null; - private class ScoreboardCooldownTask extends CancellableRunnable { + private class ScoreboardCooldownTask implements Runnable { @Override public void run() { // Stop updating if it's no longer something displaying cooldowns @@ -125,7 +123,7 @@ public class ScoreboardWrapper { public void doSidebarUpdateSoon() { if (updateTask == null) { // To avoid spamming the scheduler, store the instance and run 2 ticks later - updateTask = new ScoreboardQuickUpdate().runTaskLater(mcMMO.p, 2L); + updateTask = mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new ScoreboardQuickUpdate(), 2L); } } @@ -133,7 +131,7 @@ public class ScoreboardWrapper { if (cooldownTask == null) { // Repeat every 5 seconds. // Cancels once all cooldowns are done, using stopCooldownUpdating(). - cooldownTask = new ScoreboardCooldownTask().runTaskTimer(mcMMO.p, 5 * Misc.TICK_CONVERSION_FACTOR, 5 * Misc.TICK_CONVERSION_FACTOR); + cooldownTask = mcMMO.p.getFoliaLib().getImpl().runAtEntityTimer(player, new ScoreboardCooldownTask(), 5 * Misc.TICK_CONVERSION_FACTOR, 5 * Misc.TICK_CONVERSION_FACTOR); } } @@ -216,7 +214,7 @@ public class ScoreboardWrapper { } player.setScoreboard(scoreboard); - revertTask = new ScoreboardChangeTask().runTaskLater(mcMMO.p, ticks); + revertTask = mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(player, new ScoreboardChangeTask(), ticks); // TODO is there any way to do the time that looks acceptable? // player.sendMessage(LocaleLoader.getString("Commands.Scoreboard.Timer", StringUtils.capitalize(sidebarType.toString().toLowerCase(Locale.ENGLISH)), ticks / 20F)); @@ -426,7 +424,7 @@ public class ScoreboardWrapper { NotificationManager.sendPlayerInformationChatOnlyPrefixed(player, "Scoreboard.Recovery"); initBoard(); //Start over - Bukkit.getScheduler().runTaskLater(mcMMO.p, () -> ScoreboardManager.retryLastSkillBoard(player), 0); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(player, t -> ScoreboardManager.retryLastSkillBoard(player)); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index e07b715ed..5f4c51ac5 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -806,7 +806,7 @@ public final class CombatUtils { baseXP *= multiplier; if (baseXP != 0) { - new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason).runTaskLater(mcMMO.p, 0); + mcMMO.p.getFoliaLib().getImpl().runAtEntity(mcMMOPlayer.getPlayer(), new AwardCombatXpTask(mcMMOPlayer, primarySkillType, baseXP, target, xpGainReason)); } } diff --git a/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java b/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java index e53ec67d4..ae2f842ad 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/RankUtils.java @@ -48,7 +48,7 @@ public class RankUtils { { SkillUnlockNotificationTask skillUnlockNotificationTask = new SkillUnlockNotificationTask(mcMMOPlayer, subSkillType, newLevel); - skillUnlockNotificationTask.runTaskLater(plugin, (count * 100L)); + mcMMO.p.getFoliaLib().getImpl().runAtEntityLater(mcMMOPlayer.getPlayer(), skillUnlockNotificationTask, (count * 100L)); count++; } From c36310b3ce6d647faf5562f76239b310d78a6e6e Mon Sep 17 00:00:00 2001 From: HSGamer Date: Mon, 21 Aug 2023 08:11:30 +0700 Subject: [PATCH 8/8] include FoliaLib on shading --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index a3cd98487..9c2794687 100644 --- a/pom.xml +++ b/pom.xml @@ -154,6 +154,7 @@ net.kyori:adventure-text-serializer-craftbukkit net.kyori:adventure-text-serializer-gson-legacy-impl co.aikar:acf-bukkit + com.tcoded:FoliaLib