Bladeren bron

Fix non-converted schedulers

TechnicallyCoded 1 jaar geleden
bovenliggende
commit
38e0810f93

+ 5 - 1
pom.xml

@@ -189,6 +189,10 @@
                             <pattern>org.bstats</pattern>
                             <shadedPattern>com.gmail.nossr50.mcmmo.metrics.bstats</shadedPattern>
                         </relocation>
+                        <relocation>
+                            <pattern>com.tcoded.folialib</pattern>
+                            <shadedPattern>com.gmail.nossr50.mcmmo.folialib</shadedPattern>
+                        </relocation>
                     </relocations>
                 </configuration>
                 <executions>
@@ -379,7 +383,7 @@
         <dependency>
             <groupId>com.tcoded</groupId>
             <artifactId>FoliaLib</artifactId>
-            <version>0.2.0</version>
+            <version>0.2.4</version>
             <scope>compile</scope>
         </dependency>
     </dependencies>

+ 7 - 6
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);
+                }
+            });
+        }
     }
 
     /**

+ 5 - 4
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;

+ 1 - 1
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;
 

+ 3 - 2
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));
             }
         }
     }

+ 1 - 1
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;