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;