diff --git a/src/main/java/fr/xephi/authme/AuthMe.java b/src/main/java/fr/xephi/authme/AuthMe.java index 0fe003a7..667d676e 100644 --- a/src/main/java/fr/xephi/authme/AuthMe.java +++ b/src/main/java/fr/xephi/authme/AuthMe.java @@ -206,7 +206,6 @@ public class AuthMe extends JavaPlugin { // 注册玩家加入事件监听 // register3rdPartyListeners(); logger.info("GitHub: https://github.com/HaHaWTH/AuthMeReReloaded/"); - if (settings.getProperty(SecuritySettings.CHECK_FOR_UPDATES)) { checkForUpdates(); } diff --git a/src/main/java/fr/xephi/authme/service/TeleportationService.java b/src/main/java/fr/xephi/authme/service/TeleportationService.java index f0eb7f85..21193bb0 100644 --- a/src/main/java/fr/xephi/authme/service/TeleportationService.java +++ b/src/main/java/fr/xephi/authme/service/TeleportationService.java @@ -14,6 +14,8 @@ import fr.xephi.authme.output.ConsoleLoggerFactory; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.settings.SpawnLoader; import fr.xephi.authme.settings.properties.RestrictionSettings; +import fr.xephi.authme.settings.properties.SecuritySettings; +import fr.xephi.authme.util.TeleportUtils; import org.bukkit.Location; import org.bukkit.World; import org.bukkit.entity.Player; @@ -140,7 +142,7 @@ public class TeleportationService implements Reloadable { logger.debug("Teleporting `{0}` to spawn because of 'force-spawn after login'", player.getName()); teleportToSpawn(player, true); } else if (settings.getProperty(TELEPORT_UNAUTHED_TO_SPAWN)) { - if (settings.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION) && auth.getQuitLocY() != 0) { + if (settings.getProperty(RestrictionSettings.SAVE_QUIT_LOCATION)) { Location location = buildLocationFromAuth(player, auth); logger.debug("Teleporting `{0}` after login, based on the player auth", player.getName()); teleportBackFromSpawn(player, location); @@ -184,7 +186,9 @@ public class TeleportationService implements Reloadable { private void performTeleportation(final Player player, final AbstractTeleportEvent event) { bukkitService.scheduleSyncTaskFromOptionallyAsyncTask(() -> { bukkitService.callEvent(event); - if (player.isOnline() && isEventValid(event)) { + if (player.isOnline() && isEventValid(event) && settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { + TeleportUtils.teleport(player, event.getTo()); + } else if (player.isOnline() && isEventValid(event) && !settings.getProperty(SecuritySettings.SMART_ASYNC_TELEPORT)) { player.teleport(event.getTo()); } });