diff --git a/pom.xml b/pom.xml index 03ac68ab7..09658cef3 100644 --- a/pom.xml +++ b/pom.xml @@ -189,6 +189,10 @@ org.bstats com.gmail.nossr50.mcmmo.metrics.bstats + + com.tcoded.folialib + com.gmail.nossr50.mcmmo.folialib + @@ -379,7 +383,7 @@ com.tcoded FoliaLib - 0.2.0 + 0.2.4 compile diff --git a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java index 3442f583f..ef9f54eeb 100644 --- a/src/main/java/com/gmail/nossr50/listeners/BlockListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/BlockListener.java @@ -136,14 +136,15 @@ public class BlockListener implements Listener { final BlockFace direction = event.getDirection(); - Bukkit.getScheduler().scheduleSyncDelayedTask(mcMMO.p, () -> { for (final Block block : event.getBlocks()) { - final Block movedBlock = block.getRelative(direction); + mcMMO.p.getFoliaLib().getImpl().runAtLocation(block.getLocation(), () -> { + final Block movedBlock = block.getRelative(direction); - if(BlockUtils.isWithinWorldBounds(movedBlock)) { - BlockUtils.setUnnaturalBlock(movedBlock); - } - }}); + if (BlockUtils.isWithinWorldBounds(movedBlock)) { + BlockUtils.setUnnaturalBlock(movedBlock); + } + }); + } } /** diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 7b19fe7c1..19f838077 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -54,6 +54,7 @@ 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; @@ -400,7 +401,7 @@ public class mcMMO extends JavaPlugin { } LogUtils.debug(mcMMO.p.getLogger(), "Canceling all tasks..."); - getServer().getScheduler().cancelTasks(this); // This removes our tasks + getFoliaLib().getImpl().cancelAllTasks(); // This removes our tasks LogUtils.debug(mcMMO.p.getLogger(), "Unregister all events..."); HandlerList.unregisterAll(this); // Cancel event registrations @@ -630,11 +631,11 @@ public class mcMMO extends JavaPlugin { } private void registerCustomRecipes() { - getServer().getScheduler().scheduleSyncDelayedTask(this, () -> { + getFoliaLib().getImpl().runLater(() -> { if (generalConfig.getChimaeraEnabled()) { getServer().addRecipe(ChimaeraWing.getChimaeraWingRecipe()); } - }, 40); + }, 40 * 50, TimeUnit.MILLISECONDS); } private void scheduleTasks() { @@ -647,7 +648,7 @@ public class mcMMO extends JavaPlugin { new SaveTimerTask().runTaskTimer(saveIntervalTicks, saveIntervalTicks); // Cleanup the backups folder - new CleanBackupsTask().runTaskAsynchronously(mcMMO.p); + getFoliaLib().getImpl().runAsync(new CleanBackupsTask()); // Old & Powerless User remover long purgeIntervalTicks = generalConfig.getPurgeInterval() * 60L * 60L * Misc.TICK_CONVERSION_FACTOR; diff --git a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java index db9a17d41..e2c3d3279 100644 --- a/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java +++ b/src/main/java/com/gmail/nossr50/runnables/SaveTimerTask.java @@ -7,7 +7,7 @@ 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.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import java.util.concurrent.TimeUnit; 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 5ae709683..6bf10c8ea 100644 --- a/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java +++ b/src/main/java/com/gmail/nossr50/util/player/NotificationManager.java @@ -31,6 +31,7 @@ import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import java.time.LocalDate; +import java.util.concurrent.TimeUnit; public class NotificationManager { @@ -296,7 +297,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); - Bukkit.getScheduler().runTaskLater(mcMMO.p, () -> audience.sendMessage(Identity.nil(), message), 0); + mcMMO.p.getFoliaLib().getImpl().runNextTick(() -> audience.sendMessage(Identity.nil(), message)); } } } @@ -331,7 +332,7 @@ public class NotificationManager { String localeMessage = LocaleLoader.getString("Broadcasts.PowerLevelUpMilestone", mmoPlayer.getPlayer().getDisplayName(), powerLevel); Component message = LegacyComponentSerializer.legacySection().deserialize(localeMessage).hoverEvent(levelMilestoneHover); - Bukkit.getScheduler().runTaskLater(mcMMO.p, () -> audience.sendMessage(Identity.nil(), message), 0); + mcMMO.p.getFoliaLib().getImpl().runNextTick(() -> 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 d6f64fae1..231fb7bbf 100644 --- a/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java +++ b/src/main/java/com/gmail/nossr50/util/scoreboards/ScoreboardWrapper.java @@ -18,7 +18,7 @@ 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.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import org.apache.commons.lang.Validate; import org.bukkit.ChatColor; import org.bukkit.entity.Player;