From e48c076bfb748f6fc9e1f20f35c4020aae84bd92 Mon Sep 17 00:00:00 2001 From: anon8281 Date: Sat, 8 Jul 2023 09:37:48 +0300 Subject: [PATCH 1/3] Init folia support --- Spigot/pom.xml | 20 ++++++++++++++++--- .../listeners/PlayerListener.java | 6 +++--- Spigot/src/main/resources/plugin.yml | 2 ++ WG/pom.xml | 18 +++++++++++++---- .../wg/WorldGuardUtils.java | 4 ++-- .../wg/handlers/PlaySoundsFlagHandler.java | 10 +++++----- 6 files changed, 43 insertions(+), 17 deletions(-) diff --git a/Spigot/pom.xml b/Spigot/pom.xml index 056f94dd..128995b5 100644 --- a/Spigot/pom.xml +++ b/Spigot/pom.xml @@ -32,6 +32,10 @@ org.bstats net.goldtreeservers.worldguardextraflags.bstats + + com.github.Anon8281.universalScheduler + net.goldtreeservers.worldguardextraflags.universalScheduler + @@ -65,6 +69,10 @@ CodeMC https://repo.codemc.org/repository/maven-public + + jitpack.io + https://jitpack.io + @@ -76,9 +84,9 @@ - org.spigotmc - spigot-api - 1.18.2-R0.1-SNAPSHOT + dev.folia + folia-api + 1.20.1-R0.1-SNAPSHOT provided @@ -117,5 +125,11 @@ 1.7 compile + + com.github.Anon8281 + UniversalScheduler + 0.1.5 + compile + \ No newline at end of file diff --git a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/PlayerListener.java b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/PlayerListener.java index 09846417..75357115 100644 --- a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/PlayerListener.java +++ b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/PlayerListener.java @@ -1,5 +1,6 @@ package net.goldtreeservers.worldguardextraflags.listeners; +import com.github.Anon8281.universalScheduler.UniversalRunnable; import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.util.Location; import com.sk89q.worldguard.LocalPlayer; @@ -23,7 +24,6 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.potion.Potion; -import org.bukkit.scheduler.BukkitRunnable; import org.spigotmc.event.player.PlayerSpawnLocationEvent; import com.sk89q.worldguard.protection.ApplicableRegionSet; @@ -150,7 +150,7 @@ public void onPlayerGameModeChangeEvent(PlayerGameModeChangeEvent event) Boolean value = wgSession.getHandler(FlyFlagHandler.class).getCurrentValue(); if (value != null) { - new BukkitRunnable() + new UniversalRunnable() { @Override public void run() @@ -162,7 +162,7 @@ public void run() } else { - new BukkitRunnable() + new UniversalRunnable() { @Override public void run() diff --git a/Spigot/src/main/resources/plugin.yml b/Spigot/src/main/resources/plugin.yml index 3d94afd9..f188e605 100644 --- a/Spigot/src/main/resources/plugin.yml +++ b/Spigot/src/main/resources/plugin.yml @@ -1,6 +1,8 @@ name: WorldGuardExtraFlags description: Adds more flags to WorldGuard to help manage your server easily! +folia-supported: true + version: 4.2.2-SNAPSHOT api-version: 1.13 diff --git a/WG/pom.xml b/WG/pom.xml index 3b3ae62d..4c254c07 100644 --- a/WG/pom.xml +++ b/WG/pom.xml @@ -18,13 +18,17 @@ sk89q-repo https://maven.enginehub.org/repo/ + + jitpack.io + https://jitpack.io + - org.spigotmc - spigot-api - 1.18.2-R0.1-SNAPSHOT + dev.folia + folia-api + 1.20.1-R0.1-SNAPSHOT provided @@ -51,5 +55,11 @@ 7.0.6 provided - + + com.github.Anon8281 + UniversalScheduler + 0.1.5 + compile + + \ No newline at end of file diff --git a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/WorldGuardUtils.java b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/WorldGuardUtils.java index 19a36df0..f239c115 100644 --- a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/WorldGuardUtils.java +++ b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/WorldGuardUtils.java @@ -3,11 +3,11 @@ import java.util.HashSet; import java.util.Set; +import com.github.Anon8281.universalScheduler.UniversalRunnable; import org.bukkit.entity.Player; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.MetadataValue; import org.bukkit.plugin.Plugin; -import org.bukkit.scheduler.BukkitRunnable; public class WorldGuardUtils { @@ -27,7 +27,7 @@ public static boolean hasNoTeleportLoop(Plugin plugin, Player player, Object loc player.setMetadata(WorldGuardUtils.PREVENT_TELEPORT_LOOP_META, result); - new BukkitRunnable() + new UniversalRunnable() { @Override public void run() diff --git a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/handlers/PlaySoundsFlagHandler.java b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/handlers/PlaySoundsFlagHandler.java index 80fa69b5..86f7a446 100644 --- a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/handlers/PlaySoundsFlagHandler.java +++ b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/handlers/PlaySoundsFlagHandler.java @@ -6,6 +6,7 @@ import java.util.Map.Entry; import java.util.Set; +import com.github.Anon8281.universalScheduler.UniversalRunnable; import com.sk89q.worldedit.bukkit.BukkitPlayer; import com.sk89q.worldedit.util.Location; import com.sk89q.worldguard.LocalPlayer; @@ -13,7 +14,6 @@ import com.sk89q.worldguard.session.handler.Handler; import org.bukkit.entity.Player; import org.bukkit.plugin.Plugin; -import org.bukkit.scheduler.BukkitRunnable; import com.sk89q.worldguard.protection.ApplicableRegionSet; import com.sk89q.worldguard.session.MoveType; @@ -46,7 +46,7 @@ public PlaySoundsFlagHandler create(Session session) } private final Plugin plugin; - private Map runnables; + private final Map runnables; protected PlaySoundsFlagHandler(Plugin plugin, Session session) { @@ -93,7 +93,7 @@ private void handleValue(LocalPlayer player, Set value) { if (!this.runnables.containsKey(sound.sound())) { - BukkitRunnable runnable = new BukkitRunnable() + UniversalRunnable runnable = new UniversalRunnable() { @Override public void run() @@ -117,10 +117,10 @@ public void cancel() } } - Iterator> runnables = this.runnables.entrySet().iterator(); + Iterator> runnables = this.runnables.entrySet().iterator(); while (runnables.hasNext()) { - Entry runnable = runnables.next(); + Entry runnable = runnables.next(); if (value != null && value.size() > 0) { From 5f0d8f9d5cf4e68c80d5d7e7786214f2d91809f2 Mon Sep 17 00:00:00 2001 From: roggy666 <59109355+roggy666@users.noreply.github.com> Date: Sun, 29 Oct 2023 02:40:50 +0300 Subject: [PATCH 2/3] Update EntityListener.java --- .../worldguardextraflags/listeners/EntityListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java index 04df148d..91dd76e1 100644 --- a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java +++ b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java @@ -85,7 +85,7 @@ public void onEntityToggleGlideEvent(EntityToggleGlideEvent event) event.setCancelled(true); //Prevent the player from being allowed to glide by spamming space - player.teleport(player.getLocation()); + player.teleportAsync(player.getLocation()); break; } From 8d6e1a266ae106b7fcd39521e1f9e749aa7f83b7 Mon Sep 17 00:00:00 2001 From: Sevastjan Date: Mon, 30 Oct 2023 04:36:19 +0300 Subject: [PATCH 3/3] Player.teleport -> teleportAsync (thanks to @roggy666) --- .../worldguardextraflags/listeners/EntityListener.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java index 91dd76e1..8a8a7019 100644 --- a/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java +++ b/Spigot/src/main/java/net/goldtreeservers/worldguardextraflags/listeners/EntityListener.java @@ -6,6 +6,8 @@ import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.protection.regions.RegionContainer; import com.sk89q.worldguard.session.SessionManager; +import io.papermc.lib.PaperLib; +import javafx.print.PaperSource; import net.goldtreeservers.worldguardextraflags.flags.helpers.ForcedStateFlag; import org.bukkit.block.Block; import org.bukkit.block.BlockState; @@ -85,7 +87,10 @@ public void onEntityToggleGlideEvent(EntityToggleGlideEvent event) event.setCancelled(true); //Prevent the player from being allowed to glide by spamming space - player.teleportAsync(player.getLocation()); + + //player.teleportAsync was added with paper, so it doesn't exist on spigot/bukkit + //PaperLib.teleport is the universal solution + PaperLib.teleportAsync(player, player.getLocation()); break; }