From 7332e7c237f2d4e6bee9128dd3de2d211776c2b1 Mon Sep 17 00:00:00 2001 From: RonanCraft Date: Fri, 21 Apr 2023 13:16:42 -0400 Subject: [PATCH] removing folia support :( --- pom.xml | 6 +++--- .../SuperRonanCraft/BetterRTP/BetterRTP.java | 2 -- .../player/commands/types/CmdQueue.java | 3 ++- .../BetterRTP/player/events/Join.java | 3 ++- .../BetterRTP/player/rtp/RTPDelay.java | 11 ++++------ .../BetterRTP/player/rtp/RTPPlayer.java | 9 ++++----- .../rtp/effects/RTPEffect_Particles.java | 3 ++- .../database/DatabaseChunkData.java | 3 ++- .../references/database/DatabaseHandler.java | 3 ++- .../BetterRTP/references/database/SQLite.java | 3 ++- .../references/helpers/FoliaHelper.java | 7 ++----- .../references/messages/Message.java | 9 +++++---- .../references/rtpinfo/CooldownHandler.java | 7 ++++--- .../references/rtpinfo/QueueGenerator.java | 20 ++++++++----------- .../references/rtpinfo/QueueHandler.java | 3 ++- .../BetterRTP/references/web/Metrics.java | 3 ++- .../BetterRTP/references/web/Updater.java | 3 ++- .../BetterRTP/versions/AsyncHandler.java | 20 +++++++++++++++++++ .../BetterRTP/versions/FoliaHandler.java | 4 ++++ 19 files changed, 72 insertions(+), 50 deletions(-) create mode 100644 src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java create mode 100644 src/main/java/me/SuperRonanCraft/BetterRTP/versions/FoliaHandler.java diff --git a/pom.xml b/pom.xml index f064d2b..5fed857 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ me.SuperRonanCraft BetterRTP jar - 3.6.8 + 3.6.8-1 8 @@ -380,11 +380,11 @@ provided - + diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/BetterRTP.java b/src/main/java/me/SuperRonanCraft/BetterRTP/BetterRTP.java index 6185f95..82cb709 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/BetterRTP.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/BetterRTP.java @@ -1,6 +1,5 @@ package me.SuperRonanCraft.BetterRTP; -import com.tcoded.folialib.FoliaLib; import lombok.Getter; import me.SuperRonanCraft.BetterRTP.player.PlayerInfo; import me.SuperRonanCraft.BetterRTP.player.commands.Commands; @@ -49,7 +48,6 @@ public class BetterRTP extends JavaPlugin { //@Getter private BukkitAudiences adventure; @Getter private boolean PlaceholderAPI; @Getter private final RTPLogger rtpLogger = new RTPLogger(); - @Getter FoliaLib folia = new FoliaLib(this); @Override public void onEnable() { diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdQueue.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdQueue.java index 05d0b19..605a60c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdQueue.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/commands/types/CmdQueue.java @@ -13,6 +13,7 @@ import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; import me.SuperRonanCraft.BetterRTP.references.web.LogUploader; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.HoverEvent; @@ -44,7 +45,7 @@ public class CmdQueue implements RTPCommand { Player p = (Player) sendi; //sendi.sendMessage("Loading..."); World world = args.length > 1 ? Bukkit.getWorld(args[1]) : null; - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { if (world != null) { sendInfo(sendi, queueGetWorld(p, world), label, args); } else diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/Join.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/Join.java index 44557d7..d40e531 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/Join.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/Join.java @@ -8,6 +8,7 @@ import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.messages.Message_RTP; import me.SuperRonanCraft.BetterRTP.references.web.Updater; import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerJoinEvent; @@ -17,7 +18,7 @@ public class Join { static void event(PlayerJoinEvent e) { Player p = e.getPlayer(); updater(p); - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { getPl().getCooldowns().loadPlayer(p); }); rtpOnFirstJoin(p); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java index 2ee3c31..1e3b600 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java @@ -1,9 +1,8 @@ package me.SuperRonanCraft.BetterRTP.player.rtp; -import com.tcoded.folialib.wrapper.WrappedTask; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CancelledEvent; -import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @@ -12,12 +11,10 @@ import org.bukkit.event.HandlerList; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.player.PlayerMoveEvent; -import org.bukkit.scheduler.BukkitRunnable; - -import java.util.concurrent.TimeUnit; +import org.bukkit.scheduler.BukkitTask; class RTPDelay implements Listener { - private WrappedTask task; + private BukkitTask task; private final boolean cancelOnMove, cancelOnDamage; private final RTPPlayer rtp; @@ -30,7 +27,7 @@ class RTPDelay implements Listener { private void delay(CommandSender sendi, int delay) { if (!getPl().getRTP().getTeleport().beforeTeleportDelay(rtp.getPlayer(), delay)) { - task = FoliaHelper.get().runLater(run(sendi, this), (delay * 20L) * 50L, TimeUnit.MILLISECONDS); + task = AsyncHandler.asyncLater(run(sendi, this), delay * 20L); if (cancelOnMove || cancelOnDamage) Bukkit.getPluginManager().registerEvents(this, BetterRTP.getInstance()); } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java index feb0b64..e7813f6 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPPlayer.java @@ -1,15 +1,14 @@ package me.SuperRonanCraft.BetterRTP.player.rtp; -import com.tcoded.folialib.FoliaLib; import io.papermc.lib.PaperLib; import lombok.Getter; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_FindLocationEvent; -import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.Location; @@ -49,7 +48,7 @@ public class RTPPlayer { attempts++; return; } - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { Location loc; if (event.getLocation() != null) // && WorldPlayer.checkIsValid(event.getLocation(), pWorld)) loc = event.getLocation(); @@ -63,7 +62,7 @@ public class RTPPlayer { } attempts++; //Add an attempt //Load chunk and find out if safe location (asynchronously) - FoliaHelper.get().runNextTick(() -> { + AsyncHandler.sync(() -> { try { //Prior to 1.12 this async chunk will NOT work CompletableFuture chunk = PaperLib.getChunkAtAsync(loc); chunk.thenAccept(result -> { @@ -91,7 +90,7 @@ public class RTPPlayer { if (getPl().getEco().charge(player, worldPlayer)) { tpLoc.setYaw(player.getLocation().getYaw()); tpLoc.setPitch(player.getLocation().getPitch()); - FoliaHelper.get().runNextTick(() -> + AsyncHandler.sync(() -> settings.teleport.sendPlayer(sendi, player, tpLoc, worldPlayer, attempts, type)); } } else { diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Particles.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Particles.java index fe03ef7..07de738 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Particles.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Particles.java @@ -3,6 +3,7 @@ package me.SuperRonanCraft.BetterRTP.player.rtp.effects; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.file.FileOther; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.entity.Player; @@ -71,7 +72,7 @@ public class RTPEffect_Particles { public void display(Player p) { if (!enabled) return; - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { try { //Incase the library errors out switch (shape) { case "TELEPORT": diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseChunkData.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseChunkData.java index 7a30c49..10d950c 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseChunkData.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseChunkData.java @@ -8,6 +8,7 @@ import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueGenerator; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.Chunk; import org.bukkit.Location; @@ -54,7 +55,7 @@ public class DatabaseChunkData extends SQLite { public void addChunk(Chunk chunk, int maxy, Biome biome) { - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { String pre = "INSERT OR REPLACE INTO "; String sql = pre + tables.get(0) + " (" + COLUMNS.WORLD.name + ", " diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java index 8572a13..0b3a2ba 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/DatabaseHandler.java @@ -4,6 +4,7 @@ import lombok.Getter; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; public class DatabaseHandler { @@ -14,7 +15,7 @@ public class DatabaseHandler { @Getter private final DatabaseChunkData databaseChunks = new DatabaseChunkData(); public void load() { - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { databasePlayers.load(); databaseCooldowns.load(); databaseQueue.load(); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java index f7c7a9c..07e6515 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/database/SQLite.java @@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.QueueHandler; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.RandomLocation; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import java.io.File; @@ -61,7 +62,7 @@ public abstract class SQLite { public void load() { loaded = false; tables = getTables(); - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { Connection connection = getSQLConnection(); try { Statement s = connection.createStatement(); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/FoliaHelper.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/FoliaHelper.java index 1b96432..405d27a 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/FoliaHelper.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/helpers/FoliaHelper.java @@ -1,13 +1,10 @@ package me.SuperRonanCraft.BetterRTP.references.helpers; -import com.tcoded.folialib.FoliaLib; -import com.tcoded.folialib.impl.ServerImplementation; + import me.SuperRonanCraft.BetterRTP.BetterRTP; public class FoliaHelper { - public static ServerImplementation get() { - return BetterRTP.getInstance().getFolia().getImpl(); - } + } diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message.java index 4dc2870..bd9abfd 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/messages/Message.java @@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.file.FileData; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.messages.placeholder.PlaceholderAnalyzer; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.CommandSender; @@ -24,25 +25,25 @@ public interface Message { static void sms(Message messenger, CommandSender sendi, String msg) { if (!msg.isEmpty()) - FoliaHelper.get().runNextTick(() -> + AsyncHandler.sync(() -> sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg))); } static void sms(Message messenger, CommandSender sendi, String msg, Object placeholderInfo) { if (!msg.isEmpty()) - FoliaHelper.get().runNextTick(() -> + AsyncHandler.sync(() -> sendi.sendMessage(Objects.requireNonNull(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo)))); } static void sms(Message messenger, CommandSender sendi, String msg, List placeholderInfo) { if (!msg.isEmpty()) - FoliaHelper.get().runNextTick(() -> + AsyncHandler.sync(() -> sendi.sendMessage(placeholder(sendi, getPrefix(messenger) + msg, placeholderInfo))); } static void sms(CommandSender sendi, List msg, Object placeholderInfo) { if (msg != null && !msg.isEmpty()) { - FoliaHelper.get().runNextTick(() -> { + AsyncHandler.sync(() -> { msg.forEach(str -> msg.set(msg.indexOf(str), placeholder(sendi, str, placeholderInfo))); sendi.sendMessage(msg.toArray(new String[0])); }); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java index 469dd28..0ba4ae3 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/CooldownHandler.java @@ -10,6 +10,7 @@ import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.player.HelperPlayer; import me.SuperRonanCraft.BetterRTP.references.player.playerdata.PlayerData; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.command.CommandSender; @@ -45,7 +46,7 @@ public class CooldownHandler { } private void queueDownload() { - FoliaHelper.get().runLaterAsync(() -> { + AsyncHandler.asyncLater(() -> { if (cooldownByWorld && !DatabaseHandler.getCooldowns().isLoaded()) { queueDownload(); return; @@ -59,7 +60,7 @@ public class CooldownHandler { for (Player p : Bukkit.getOnlinePlayers()) loadPlayer(p); loaded = true; - }, 10L * 50L, TimeUnit.MILLISECONDS); + }, 10L); } public void add(Player player, World world) { @@ -134,7 +135,7 @@ public class CooldownHandler { } private void savePlayer(Player player, @Nullable World world, @Nullable CooldownData data, boolean remove) { - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { if (world != null && data != null && getDatabaseWorlds() != null) { //Per World enabled? if (!remove) getDatabaseWorlds().setCooldown(world, data); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java index 17e5893..04a7157 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java @@ -1,17 +1,14 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo; -import com.tcoded.folialib.wrapper.WrappedTask; import io.papermc.lib.PaperLib; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE; import me.SuperRonanCraft.BetterRTP.player.rtp.RTP; -import me.SuperRonanCraft.BetterRTP.player.rtp.RTPPlayer; import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler; -import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.helpers.HelperRTP; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldCustom; -import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.WorldPlayer; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; @@ -21,7 +18,6 @@ import org.jetbrains.annotations.Nullable; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.TimeUnit; public class QueueGenerator { @@ -30,7 +26,7 @@ public class QueueGenerator { public static final int queueMax = 32, queueMin = 2; //Amount to ready up for each rtp world private final int queueMaxAttempts = 50; boolean generating; - private WrappedTask task; + private BukkitTask task; public void unload() { if (task != null) @@ -45,7 +41,7 @@ public class QueueGenerator { void generate(@Nullable RTPWorld rtpWorld) { if (!QueueHandler.isEnabled()) return; - FoliaHelper.get().runLaterAsync(() -> { + AsyncHandler.asyncLater(() -> { if (!DatabaseHandler.getQueue().isLoaded()) { generate(rtpWorld); return; @@ -55,12 +51,12 @@ public class QueueGenerator { //Queue after everything was loaded BetterRTP.debug("Attempting to queue up some more safe locations..."); queueGenerator(new ReQueueData(rtpWorld, queueMax, queueMin, 0, "noone", 0)); - }, 10L * 50L, TimeUnit.MILLISECONDS); + }, 10L); } private void queueGenerator(ReQueueData data) { generating = true; - task = FoliaHelper.get().runLaterAsync(() -> { + task = AsyncHandler.asyncLater(() -> { //BetterRTP.debug("Generating a new position... attempt # " + data.attempts); //Generate more locations //Rare cases where a rtp world didn't have a location generated (Permission Groups?) @@ -109,7 +105,7 @@ public class QueueGenerator { } generating = false; BetterRTP.debug("Queueing paused, max queue limit reached!"); - }, 20L * 50L /*delay before starting queue generator*/, TimeUnit.MILLISECONDS); + }, 20L/*delay before starting queue generator*/); } static class ReQueueData { @@ -154,7 +150,7 @@ public class QueueGenerator { private void addQueue(RTPWorld rtpWorld, String id, ReQueueData reQueueData) { Location loc = RandomLocation.generateLocation(rtpWorld); if (loc != null) { - FoliaHelper.get().runNextTick(() -> { + AsyncHandler.sync(() -> { //BetterRTP.debug("Queued up a new position, attempts " + reQueueData.attempts); PaperLib.getChunkAtAsync(loc) .thenAccept(v -> { @@ -167,7 +163,7 @@ public class QueueGenerator { rtpWorld.getBiomes()); //data.setLocation(safeLoc); if (safeLoc != null) { - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { QueueData data = DatabaseHandler.getQueue().addQueue(safeLoc); if (data != null) { //queueList.add(data); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueHandler.java index 70789b8..ff3ae3f 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueHandler.java @@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.references.database.DatabaseHandler; import me.SuperRonanCraft.BetterRTP.references.database.DatabaseQueue; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; import me.SuperRonanCraft.BetterRTP.references.rtpinfo.worlds.RTPWorld; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.event.EventHandler; @@ -85,7 +86,7 @@ public class QueueHandler implements Listener { //Randomly queues up some safe l public static void remove(Location loc) { if (!isEnabled()) return; - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { //Delete all queue data async if (DatabaseHandler.getQueue().removeLocation(loc)) { //BetterRTP.getInstance().getQueue().queueList.remove(data); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Metrics.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Metrics.java index 42bc8b2..d8cfc25 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Metrics.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Metrics.java @@ -1,6 +1,7 @@ package me.SuperRonanCraft.BetterRTP.references.web; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.ServicePriority; @@ -128,7 +129,7 @@ public class Metrics { } // Nevertheless we want our code to run in the Bukkit main thread, so we have to use the Bukkit scheduler // Don't be afraid! The connection to the bStats server is still async, only the stats collection is sync ;) - FoliaHelper.get().runNextTick(() -> submitData()); + AsyncHandler.sync(() -> submitData()); } }, 1000*60*5, 1000*60*30); // Submit the data every 30 minutes, first time after 5 minutes to give other plugins enough time to start diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Updater.java b/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Updater.java index bb96151..c39e3b8 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Updater.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/web/Updater.java @@ -2,6 +2,7 @@ package me.SuperRonanCraft.BetterRTP.references.web; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.helpers.FoliaHelper; +import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.Bukkit; import java.io.BufferedReader; @@ -14,7 +15,7 @@ public class Updater { public static String updatedVersion = BetterRTP.getInstance().getDescription().getVersion(); public Updater(BetterRTP pl) { - FoliaHelper.get().runAsync(() -> { + AsyncHandler.async(() -> { try { URLConnection con = new URL(getUrl() + project()).openConnection(); updatedVersion = new BufferedReader(new InputStreamReader(con.getInputStream())).readLine(); diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java new file mode 100644 index 0000000..275820d --- /dev/null +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java @@ -0,0 +1,20 @@ +package me.SuperRonanCraft.BetterRTP.versions; + +import me.SuperRonanCraft.BetterRTP.BetterRTP; +import org.bukkit.Bukkit; +import org.bukkit.scheduler.BukkitTask; + +public class AsyncHandler { + + public static void async(Runnable runnable) { + Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), runnable); + } + + public static void sync(Runnable runnable) { + Bukkit.getScheduler().runTask(BetterRTP.getInstance(), runnable); + } + + public static BukkitTask asyncLater(Runnable runnable, long ticks) { + return Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), runnable, ticks); + } +} diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/versions/FoliaHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/FoliaHandler.java new file mode 100644 index 0000000..a8dd6a3 --- /dev/null +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/FoliaHandler.java @@ -0,0 +1,4 @@ +package me.SuperRonanCraft.BetterRTP.versions; + +public class FoliaHandler { +}