From beb00d1494935888dc7ee17d53e3591a00110d65 Mon Sep 17 00:00:00 2001 From: Allink Date: Thu, 30 Mar 2023 19:34:06 +0100 Subject: [PATCH] Don't allow cross-dimensional /spawn on Folia servers --- .../kaboom/extras/commands/CommandSpawn.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java index b18802c..b80430b 100644 --- a/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java +++ b/src/main/java/pw/kaboom/extras/commands/CommandSpawn.java @@ -21,14 +21,6 @@ public final class CommandSpawn implements CommandExecutor { final @Nonnull Command command, final @Nonnull String label, final String[] args) { - final Main plugin = JavaPlugin.getPlugin(Main.class); - - if (plugin.isFolia()) { - sender.sendMessage(Component - .text("Command cannot be ran on Folia servers!")); - return true; - } - if (sender instanceof ConsoleCommandSender) { sender.sendMessage(Component .text("Command has to be run by a player")); @@ -36,8 +28,18 @@ public final class CommandSpawn implements CommandExecutor { } final Player player = (Player) sender; + final World playerWorld = player.getWorld(); final World defaultWorld = Bukkit.getWorld("world"); final World world = (defaultWorld == null) ? Bukkit.getWorlds().get(0) : defaultWorld; + final Main plugin = JavaPlugin.getPlugin(Main.class); + + + if (!world.equals(playerWorld) && plugin.isFolia()) { + sender.sendMessage(Component + .text("Cross-dimensional teleports are currently unsupported on Folia.")); + return true; + } + final Location spawnLocation = world.getSpawnLocation(); final int maxWorldHeight = 256;