From dbde32d48dce210974d4e03607b1481c78d409b0 Mon Sep 17 00:00:00 2001 From: TechnicallyCoded Date: Mon, 5 Feb 2024 00:03:39 +0100 Subject: [PATCH] Fix folia potion effects on players (#197) * Update FoliaLib to 0.3.1 * Fix potion effects such that they are applied using the entity's scheduler * Update FoliaLib usages in code for v0.3.1 --- pom.xml | 2 +- .../BetterRTP/player/events/WorldLoad.java | 3 +-- .../BetterRTP/player/rtp/RTPDelay.java | 2 +- .../player/rtp/effects/RTPEffect_Potions.java | 3 +-- .../references/rtpinfo/QueueGenerator.java | 3 +-- .../BetterRTP/versions/AsyncHandler.java | 18 +++++++++++------- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 0bbe0c4..c6bea17 100644 --- a/pom.xml +++ b/pom.xml @@ -345,7 +345,7 @@ com.tcoded FoliaLib - 0.2.3-legacy-support + 0.3.1 compile diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/WorldLoad.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/WorldLoad.java index 7fd1046..ef53657 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/WorldLoad.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/events/WorldLoad.java @@ -1,10 +1,9 @@ package me.SuperRonanCraft.BetterRTP.player.events; -import com.tcoded.folialib.wrapper.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; import org.bukkit.event.world.WorldLoadEvent; -import org.bukkit.scheduler.BukkitTask; public class WorldLoad { 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 cd5aaec..fa3c678 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/RTPDelay.java @@ -1,6 +1,6 @@ package me.SuperRonanCraft.BetterRTP.player.rtp; -import com.tcoded.folialib.wrapper.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_CancelledEvent; import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Potions.java b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Potions.java index fdb817f..7c98d7b 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Potions.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/player/rtp/effects/RTPEffect_Potions.java @@ -3,7 +3,6 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.references.file.FileOther; import me.SuperRonanCraft.BetterRTP.versions.AsyncHandler; -import me.SuperRonanCraft.BetterRTP.versions.FoliaHandler; import org.bukkit.entity.Player; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; @@ -51,7 +50,7 @@ void load() { } public void giveEffects(Player p) { - AsyncHandler.sync(() -> { + AsyncHandler.syncAtEntity(p, () -> { if (invincibleEnabled) p.setNoDamageTicks(invincibleTime * 20); if (potionEnabled) { 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 3f915e7..f97b069 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/references/rtpinfo/QueueGenerator.java @@ -1,6 +1,6 @@ package me.SuperRonanCraft.BetterRTP.references.rtpinfo; -import com.tcoded.folialib.wrapper.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import io.papermc.lib.PaperLib; import me.SuperRonanCraft.BetterRTP.BetterRTP; import me.SuperRonanCraft.BetterRTP.player.commands.RTP_SETUP_TYPE; @@ -13,7 +13,6 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.World; -import org.bukkit.scheduler.BukkitTask; import org.jetbrains.annotations.Nullable; import java.util.HashMap; diff --git a/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java index d06a76c..992886d 100644 --- a/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java +++ b/src/main/java/me/SuperRonanCraft/BetterRTP/versions/AsyncHandler.java @@ -1,29 +1,33 @@ package me.SuperRonanCraft.BetterRTP.versions; import com.tcoded.folialib.impl.ServerImplementation; -import com.tcoded.folialib.wrapper.WrappedTask; +import com.tcoded.folialib.wrapper.task.WrappedTask; import me.SuperRonanCraft.BetterRTP.BetterRTP; - -import java.util.concurrent.TimeUnit; +import org.bukkit.entity.Entity; public class AsyncHandler { public static void async(Runnable runnable) { - getFolia().runAsync(runnable); + getFolia().runAsync(task -> runnable.run()); //Bukkit.getScheduler().runTaskAsynchronously(BetterRTP.getInstance(), runnable); } public static void sync(Runnable runnable) { - getFolia().runNextTick(runnable); + getFolia().runNextTick(task -> runnable.run()); + //Bukkit.getScheduler().runTask(BetterRTP.getInstance(), runnable); + } + + public static void syncAtEntity(Entity entity, Runnable runnable) { + getFolia().runAtEntity(entity, task -> runnable.run()); //Bukkit.getScheduler().runTask(BetterRTP.getInstance(), runnable); } public static WrappedTask asyncLater(Runnable runnable, long ticks) { - return getFolia().runLaterAsync(runnable, ticks * 50, TimeUnit.MILLISECONDS); + return getFolia().runLaterAsync(runnable, ticks); //return Bukkit.getScheduler().runTaskLaterAsynchronously(BetterRTP.getInstance(), runnable, ticks); } public static WrappedTask syncLater(Runnable runnable, long ticks) { - return getFolia().runLater(runnable, ticks * 50, TimeUnit.MILLISECONDS); + return getFolia().runLater(runnable, ticks); //return Bukkit.getScheduler().runTaskLater(BetterRTP.getInstance(), runnable, ticks); }