diff --git a/gradlew b/gradlew old mode 100644 new mode 100755 diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTask.kt b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/player/task/PrePlayerJoinTask.kt similarity index 79% rename from surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTask.kt rename to surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/player/task/PrePlayerJoinTask.kt index 09fee139..e5cef074 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTask.kt +++ b/surf-cloud-api/surf-cloud-api-common/src/main/kotlin/dev/slne/surf/cloud/api/common/player/task/PrePlayerJoinTask.kt @@ -1,12 +1,12 @@ -package dev.slne.surf.cloud.core.common.player.task +package dev.slne.surf.cloud.api.common.player.task -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer import kotlinx.serialization.Contextual import kotlinx.serialization.Serializable import net.kyori.adventure.text.Component interface PrePlayerJoinTask { // TODO: 19.04.2025 12:47 - implement - suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): Result + suspend fun preJoin(player: OfflineCloudPlayer): Result @Serializable sealed interface Result { diff --git a/surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/listener/player/ConnectionListener.kt b/surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/listener/player/ConnectionListener.kt index 715382a1..d2e6b4f6 100644 --- a/surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/listener/player/ConnectionListener.kt +++ b/surf-cloud-bukkit/src/main/kotlin/dev/slne/surf/cloud/bukkit/listener/player/ConnectionListener.kt @@ -6,7 +6,7 @@ import dev.slne.surf.cloud.core.common.data.CloudPersistentData import dev.slne.surf.cloud.core.common.messages.MessageManager import dev.slne.surf.cloud.core.common.netty.network.protocol.running.PlayerConnectToServerPacket import dev.slne.surf.cloud.core.common.netty.network.protocol.running.PlayerDisconnectFromServerPacket -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import kotlinx.coroutines.runBlocking import org.bukkit.event.EventHandler import org.bukkit.event.EventPriority diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/CloudCoreInstance.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/CloudCoreInstance.kt index 7532e522..5d994bdc 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/CloudCoreInstance.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/CloudCoreInstance.kt @@ -13,6 +13,7 @@ import dev.slne.surf.cloud.core.common.netty.network.EncryptionManager import dev.slne.surf.cloud.core.common.player.punishment.CloudPlayerPunishmentManagerBridgeImpl import dev.slne.surf.cloud.core.common.plugin.task.CloudBeforeStartTaskHandler import dev.slne.surf.cloud.core.common.processors.NettyPacketProcessor +import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTaskAutoRegistrationHandler import dev.slne.surf.cloud.core.common.spring.CloudChildSpringApplicationConfiguration import dev.slne.surf.cloud.core.common.spring.CloudLifecycleAware import dev.slne.surf.cloud.core.common.spring.SurfSpringBanner @@ -236,6 +237,10 @@ class CloudCoreInstance : CloudInstance { "beforeStartTaskHandler", RootBeanDefinition(CloudBeforeStartTaskHandler::class.java) ) + ctx.registerBeanDefinition( + "prePlayerJoinTaskAutoRegistrationHandler", + RootBeanDefinition(PrePlayerJoinTaskAutoRegistrationHandler::class.java) + ) }) diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/ClientboundRunPrePlayerJoinTasksPacket.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/ClientboundRunPrePlayerJoinTasksPacket.kt index dd468437..ded22a3a 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/ClientboundRunPrePlayerJoinTasksPacket.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/ClientboundRunPrePlayerJoinTasksPacket.kt @@ -4,7 +4,7 @@ import dev.slne.surf.cloud.api.common.meta.SurfNettyPacket import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import kotlinx.serialization.Contextual import kotlinx.serialization.Serializable import java.util.* diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/PlayerConnectToServerPacket.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/PlayerConnectToServerPacket.kt index c127138b..1ad7bf09 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/PlayerConnectToServerPacket.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/netty/network/protocol/running/PlayerConnectToServerPacket.kt @@ -6,7 +6,7 @@ import dev.slne.surf.cloud.api.common.netty.network.protocol.PacketFlow import dev.slne.surf.cloud.api.common.netty.packet.NettyPacket import dev.slne.surf.cloud.api.common.netty.packet.RespondingNettyPacket import dev.slne.surf.cloud.api.common.netty.packet.ResponseNettyPacket -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import kotlinx.serialization.Contextual import kotlinx.serialization.Serializable import java.net.Inet4Address diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/CloudPlayerManagerImpl.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/CloudPlayerManagerImpl.kt index 2fced87f..d24408d3 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/CloudPlayerManagerImpl.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/CloudPlayerManagerImpl.kt @@ -9,7 +9,7 @@ import dev.slne.surf.cloud.api.common.server.UserListImpl import dev.slne.surf.cloud.api.common.util.TimeLogger import dev.slne.surf.cloud.api.common.util.mutableObject2ObjectMapOf import dev.slne.surf.cloud.api.common.util.synchronize -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.core.common.spring.CloudLifecycleAware import dev.slne.surf.surfapi.core.api.util.logger import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/CloudPlayerPunishmentManagerBridgeImpl.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/CloudPlayerPunishmentManagerBridgeImpl.kt index 1f3b0fd8..c9681343 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/CloudPlayerPunishmentManagerBridgeImpl.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/CloudPlayerPunishmentManagerBridgeImpl.kt @@ -9,9 +9,9 @@ import dev.slne.surf.cloud.api.common.util.mutableObjectListOf import dev.slne.surf.cloud.api.common.util.mutableObjectSetOf import dev.slne.surf.cloud.api.common.util.synchronize import dev.slne.surf.cloud.core.common.messages.MessageManager -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer import dev.slne.surf.cloud.core.common.player.PunishmentManager -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.core.common.util.bean import dev.slne.surf.surfapi.core.api.util.logger import dev.slne.surf.surfapi.core.api.util.toObjectList @@ -93,7 +93,7 @@ class CloudPlayerPunishmentManagerBridgeImpl : CloudPlayerPunishmentManagerBridg PrePlayerJoinTask { private val log = logger() - override suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result { + override suspend fun preJoin(player: OfflineCloudPlayer): PrePlayerJoinTask.Result { val cache = punishmentManager.getCurrentLoginValidationPunishmentCache(player.uuid) if (cache == null) { log.atWarning() diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/type/mute/MutePunishmentListener.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/type/mute/MutePunishmentListener.kt index 2d470327..05c235ca 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/type/mute/MutePunishmentListener.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/punishment/type/mute/MutePunishmentListener.kt @@ -4,9 +4,9 @@ import dev.slne.surf.cloud.api.common.event.CloudEventHandler import dev.slne.surf.cloud.api.common.event.offlineplayer.punishment.CloudPlayerPunishEvent import dev.slne.surf.cloud.api.common.event.offlineplayer.punishment.CloudPlayerPunishmentUpdatedEvent import dev.slne.surf.cloud.api.common.player.punishment.type.mute.PunishmentMute -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer import dev.slne.surf.cloud.core.common.player.punishment.type.PunishmentMuteImpl -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import org.springframework.context.event.EventListener import org.springframework.core.annotation.Order import org.springframework.stereotype.Component @@ -29,7 +29,7 @@ class MutePunishmentListener : PrePlayerJoinTask { mute.punishedPlayer().punishmentManager.updateCachedMute(mute) } - override suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result { + override suspend fun preJoin(player: OfflineCloudPlayer): PrePlayerJoinTask.Result { player.punishmentManager.cacheMutes() return PrePlayerJoinTask.Result.ALLOWED } diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskAutoRegistrationHandler.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskAutoRegistrationHandler.kt new file mode 100644 index 00000000..18365568 --- /dev/null +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskAutoRegistrationHandler.kt @@ -0,0 +1,37 @@ +package dev.slne.surf.cloud.core.common.player.task + +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.util.mutableObjectSetOf +import org.springframework.beans.factory.config.BeanPostProcessor +import org.springframework.context.SmartLifecycle +import org.springframework.stereotype.Component + +@Component +class PrePlayerJoinTaskAutoRegistrationHandler( + private val taskManager: PrePlayerJoinTaskManager +) : BeanPostProcessor, SmartLifecycle { + private val watched = mutableObjectSetOf() + private var running = false + + override fun postProcessAfterInitialization(bean: Any, beanName: String): Any? { + if (bean is PrePlayerJoinTask) { + watched.add(bean) + if (running) { + taskManager.registerTask(bean) + } + } + return bean + } + + override fun start() { + taskManager.registerTasks(watched) + running = true + } + + override fun stop() { + running = false + watched.forEach { taskManager.unregisterTask(it) } + } + + override fun isRunning(): Boolean = running +} diff --git a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskManager.kt b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskManager.kt index 8ff144df..804705ad 100644 --- a/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskManager.kt +++ b/surf-cloud-core/surf-cloud-core-common/src/main/kotlin/dev/slne/surf/cloud/core/common/player/task/PrePlayerJoinTaskManager.kt @@ -1,5 +1,6 @@ package dev.slne.surf.cloud.core.common.player.task +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.api.common.util.mutableObjectListOf import dev.slne.surf.cloud.core.common.coroutines.PrePlayerJoinTaskScope import dev.slne.surf.cloud.core.common.player.CommonCloudPlayerImpl @@ -33,6 +34,26 @@ class PrePlayerJoinTaskManager : BeanPostProcessor, SmartInitializingSingleton { OrderComparator.sort(tasks) } + fun registerTask(task: PrePlayerJoinTask) { + if (!tasks.contains(task)) { + tasks.add(task) + OrderComparator.sort(tasks) + } + } + + fun registerTasks(tasks: Collection) { + for (task in tasks) { + if (!this.tasks.contains(task)) { + this.tasks.add(task) + } + } + OrderComparator.sort(this.tasks) + } + + fun unregisterTask(task: PrePlayerJoinTask) { + tasks.remove(task) + } + suspend fun runTasks(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result = withContext(PrePlayerJoinTaskScope.context) { for (task in tasks) { diff --git a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/StandaloneCloudPlayerManagerImpl.kt b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/StandaloneCloudPlayerManagerImpl.kt index b8d2fe92..2896458a 100644 --- a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/StandaloneCloudPlayerManagerImpl.kt +++ b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/StandaloneCloudPlayerManagerImpl.kt @@ -10,7 +10,7 @@ import dev.slne.surf.cloud.core.common.messages.MessageManager import dev.slne.surf.cloud.core.common.netty.network.protocol.running.ClientboundRunPrePlayerJoinTasksPacket import dev.slne.surf.cloud.core.common.player.CloudPlayerManagerImpl import dev.slne.surf.cloud.core.common.player.playerManagerImpl -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTaskManager import dev.slne.surf.cloud.core.common.util.bean import dev.slne.surf.cloud.core.common.util.checkInstantiationByServiceLoader diff --git a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/PunishmentManagerImpl.kt b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/PunishmentManagerImpl.kt index 8d582b18..a2586a15 100644 --- a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/PunishmentManagerImpl.kt +++ b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/PunishmentManagerImpl.kt @@ -12,11 +12,11 @@ import dev.slne.surf.cloud.api.server.netty.packet.broadcast import dev.slne.surf.cloud.core.common.coroutines.PunishmentHandlerScope import dev.slne.surf.cloud.core.common.netty.network.protocol.running.ClientboundTriggerPunishmentCreatedEventPacket import dev.slne.surf.cloud.core.common.netty.network.protocol.running.ClientboundTriggerPunishmentUpdateEventPacket -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer import dev.slne.surf.cloud.core.common.player.PunishmentCacheImpl import dev.slne.surf.cloud.core.common.player.PunishmentManager import dev.slne.surf.cloud.core.common.player.punishment.type.* -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.standalone.player.db.exposed.punishment.entity.* import dev.slne.surf.cloud.standalone.player.db.exposed.punishment.table.* import dev.slne.surf.surfapi.core.api.util.logger @@ -328,7 +328,7 @@ class PunishmentManagerImpl(private val service: PunishmentService) : Punishment return preJoinPunishmentCache.getIfPresent(playerUuid) } - override suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result { + override suspend fun preJoin(player: OfflineCloudPlayer): PrePlayerJoinTask.Result { val uuid = player.uuid preJoinPunishmentCache.put(uuid, fetchPunishmentCache(uuid)) return PrePlayerJoinTask.Result.ALLOWED diff --git a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/handler/DefaultBanPunishmentHandler.kt b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/handler/DefaultBanPunishmentHandler.kt index 75f82c32..e8683763 100644 --- a/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/handler/DefaultBanPunishmentHandler.kt +++ b/surf-cloud-standalone/src/main/kotlin/dev/slne/surf/cloud/standalone/player/punishment/handler/DefaultBanPunishmentHandler.kt @@ -8,9 +8,9 @@ import dev.slne.surf.cloud.api.common.player.punishment.type.ban.PunishmentBan import dev.slne.surf.cloud.api.common.util.mapAsync import dev.slne.surf.cloud.core.common.coroutines.PunishmentHandlerScope import dev.slne.surf.cloud.core.common.messages.MessageManager -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer import dev.slne.surf.cloud.core.common.player.PunishmentManager -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.standalone.player.StandaloneCloudPlayerImpl import dev.slne.surf.surfapi.core.api.util.logger import kotlinx.coroutines.awaitAll @@ -50,7 +50,7 @@ class DefaultBanPunishmentHandler(private val punishmentManager: PunishmentManag } } - override suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result { + override suspend fun preJoin(player: OfflineCloudPlayer): PrePlayerJoinTask.Result { val cache = punishmentManager.getCurrentLoginValidationPunishmentCache(player.uuid) if (cache == null) { log.atWarning() diff --git a/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/listener/player/ConnectionListener.kt b/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/listener/player/ConnectionListener.kt index 746a807f..916cd56e 100644 --- a/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/listener/player/ConnectionListener.kt +++ b/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/listener/player/ConnectionListener.kt @@ -14,7 +14,7 @@ import dev.slne.surf.cloud.core.common.data.CloudPersistentData import dev.slne.surf.cloud.core.common.messages.MessageManager import dev.slne.surf.cloud.core.common.netty.network.protocol.running.PlayerConnectToServerPacket import dev.slne.surf.cloud.core.common.netty.network.protocol.running.PlayerDisconnectFromServerPacket -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask.Result +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask.Result import dev.slne.surf.cloud.velocity.proxy import org.springframework.stereotype.Component import java.net.Inet4Address diff --git a/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/player/ValidateVelocityPlayerJoin.kt b/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/player/ValidateVelocityPlayerJoin.kt index 1c1f5324..c0bf448e 100644 --- a/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/player/ValidateVelocityPlayerJoin.kt +++ b/surf-cloud-velocity/src/main/kotlin/dev/slne/surf/cloud/velocity/player/ValidateVelocityPlayerJoin.kt @@ -1,8 +1,8 @@ package dev.slne.surf.cloud.velocity.player import dev.slne.surf.cloud.core.common.messages.MessageManager -import dev.slne.surf.cloud.core.common.player.CommonOfflineCloudPlayerImpl -import dev.slne.surf.cloud.core.common.player.task.PrePlayerJoinTask +import dev.slne.surf.cloud.api.common.player.OfflineCloudPlayer +import dev.slne.surf.cloud.api.common.player.task.PrePlayerJoinTask import dev.slne.surf.cloud.velocity.proxy import org.springframework.core.annotation.Order import org.springframework.stereotype.Component as SpringComponent @@ -10,7 +10,7 @@ import org.springframework.stereotype.Component as SpringComponent @SpringComponent @Order(PrePlayerJoinTask.VELOCITY_PLAYER_JOIN_VALIDATION) class ValidateVelocityPlayerJoin : PrePlayerJoinTask { - override suspend fun preJoin(player: CommonOfflineCloudPlayerImpl): PrePlayerJoinTask.Result { + override suspend fun preJoin(player: OfflineCloudPlayer): PrePlayerJoinTask.Result { return if (proxy.allServers.isEmpty()) { PrePlayerJoinTask.Result.DENIED( MessageManager.noServersAvailableToJoin