From 2dd5ebcb8cecd05bb4340d8bbf049d8209f1a2d8 Mon Sep 17 00:00:00 2001 From: HaHaWTH Date: Thu, 30 May 2024 13:38:04 +0800 Subject: [PATCH] Fix Folia compatibility --- .../executable/authme/FirstSpawnCommand.java | 15 ++++++++++----- .../command/executable/authme/SpawnCommand.java | 7 ++++++- .../fr/xephi/authme/listener/PlayerListener.java | 4 ++-- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/main/java/fr/xephi/authme/command/executable/authme/FirstSpawnCommand.java b/src/main/java/fr/xephi/authme/command/executable/authme/FirstSpawnCommand.java index 7bd7d7cc..c1a6469a 100644 --- a/src/main/java/fr/xephi/authme/command/executable/authme/FirstSpawnCommand.java +++ b/src/main/java/fr/xephi/authme/command/executable/authme/FirstSpawnCommand.java @@ -1,6 +1,7 @@ package fr.xephi.authme.command.executable.authme; import fr.xephi.authme.command.PlayerCommand; +import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.SpawnLoader; import fr.xephi.authme.settings.properties.SecuritySettings; @@ -18,17 +19,21 @@ public class FirstSpawnCommand extends PlayerCommand { private Settings settings; @Inject private SpawnLoader spawnLoader; + @Inject + private BukkitService bukkitService; @Override public void runCommand(Player player, List arguments) { if (spawnLoader.getFirstSpawn() == null) { player.sendMessage("[AuthMe] First spawn has failed, please try to define the first spawn"); } else { //String name= player.getName(); - if(settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { - TeleportUtils.teleport(player, spawnLoader.getFirstSpawn()); - } else { - player.teleport(spawnLoader.getFirstSpawn()); - } + bukkitService.runTaskIfFolia(player, () -> { + if (settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { + TeleportUtils.teleport(player, spawnLoader.getFirstSpawn()); + } else { + player.teleport(spawnLoader.getFirstSpawn()); + } + }); //player.teleport(spawnLoader.getFirstSpawn()); } } diff --git a/src/main/java/fr/xephi/authme/command/executable/authme/SpawnCommand.java b/src/main/java/fr/xephi/authme/command/executable/authme/SpawnCommand.java index 3c011e6d..19cda730 100644 --- a/src/main/java/fr/xephi/authme/command/executable/authme/SpawnCommand.java +++ b/src/main/java/fr/xephi/authme/command/executable/authme/SpawnCommand.java @@ -1,6 +1,7 @@ package fr.xephi.authme.command.executable.authme; import fr.xephi.authme.command.PlayerCommand; +import fr.xephi.authme.service.BukkitService; import fr.xephi.authme.settings.SpawnLoader; import org.bukkit.entity.Player; @@ -11,13 +12,17 @@ public class SpawnCommand extends PlayerCommand { @Inject private SpawnLoader spawnLoader; + @Inject + private BukkitService bukkitService; @Override public void runCommand(Player player, List arguments) { if (spawnLoader.getSpawn() == null) { player.sendMessage("[AuthMe] Spawn has failed, please try to define the spawn"); } else { - player.teleport(spawnLoader.getSpawn()); + bukkitService.runTaskIfFolia(player, () -> { + player.teleport(spawnLoader.getSpawn()); + }); } } } diff --git a/src/main/java/fr/xephi/authme/listener/PlayerListener.java b/src/main/java/fr/xephi/authme/listener/PlayerListener.java index 85056448..2af84523 100644 --- a/src/main/java/fr/xephi/authme/listener/PlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/PlayerListener.java @@ -375,13 +375,13 @@ public class PlayerListener implements Listener{ Location spawn = spawnLoader.getSpawnLocation(player); if (spawn != null && spawn.getWorld() != null) { if (!player.getWorld().equals(spawn.getWorld())) { - if(settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { + if (settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { TeleportUtils.teleport(player,spawn); } else { player.teleport(spawn); } } else if (spawn.distance(player.getLocation()) > settings.getProperty(ALLOWED_MOVEMENT_RADIUS)) { - if(settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { + if (settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { TeleportUtils.teleport(player,spawn); } else { player.teleport(spawn);