Skip to content

Commit 5463ff1

Browse files
refactor: streamline server lifecycle and update event handling
- Remove `databaseLoader.disconnect` from Paper and move it to Velocity lifecycle. - Replace `ServerConnectedEvent` with `ServerPostConnectEvent` in Velocity's `ConnectionListener` for improved player management.
1 parent 2fb77e4 commit 5463ff1

4 files changed

Lines changed: 7 additions & 13 deletions

File tree

surf-core-paper/src/main/kotlin/dev/slne/surf/core/paper/PaperMain.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package dev.slne.surf.core.paper
33
import com.github.shynixn.mccoroutine.folia.SuspendingJavaPlugin
44
import dev.slne.surf.core.api.common.event.SurfServerOnlineEvent
55
import dev.slne.surf.core.api.common.event.SurfServerStoppingEvent
6-
import dev.slne.surf.core.core.common.database.databaseLoader
76
import dev.slne.surf.core.core.common.event.surfEventBus
87
import dev.slne.surf.core.core.common.redis.redisLoader
98
import dev.slne.surf.core.paper.command.lastSeenCommand
@@ -32,7 +31,6 @@ class PaperMain : SuspendingJavaPlugin() {
3231
override fun onDisable() {
3332
surfEventBus.fire(SurfServerStoppingEvent(surfServerConfig.serverName))
3433

35-
databaseLoader.disconnect()
3634
redisLoader.disconnect()
3735
}
3836
}

surf-core-velocity/build.gradle.kts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,6 @@ surfVelocityApi {
99
velocityPluginFile {
1010
main = "dev.slne.surf.core.velocity.VelocityMain"
1111
authors = listOf("red")
12-
13-
pluginDependencies {
14-
register("surf-redis-velocity") {
15-
optional = false
16-
}
17-
}
1812
}
1913

2014
dependencies {

surf-core-velocity/src/main/kotlin/dev/slne/surf/core/velocity/VelocityMain.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ class VelocityMain @Inject constructor(
5757
surfEventBus.fire(SurfServerStoppingEvent(surfServerConfig.serverName))
5858

5959
redisLoader.disconnect()
60+
databaseLoader.disconnect()
6061
}
6162

6263
companion object {

surf-core-velocity/src/main/kotlin/dev/slne/surf/core/velocity/listener/ConnectionListener.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package dev.slne.surf.core.velocity.listener
33
import com.github.shynixn.mccoroutine.velocity.launch
44
import com.velocitypowered.api.event.Subscribe
55
import com.velocitypowered.api.event.connection.DisconnectEvent
6-
import com.velocitypowered.api.event.player.ServerConnectedEvent
6+
import com.velocitypowered.api.event.player.ServerPostConnectEvent
77
import dev.slne.surf.core.api.common.event.SurfPlayerConnectEvent
88
import dev.slne.surf.core.api.common.event.SurfPlayerDisconnectEvent
99
import dev.slne.surf.core.core.common.event.surfEventBus
@@ -13,13 +13,14 @@ import kotlin.jvm.optionals.getOrNull
1313

1414
object ConnectionListener {
1515
@Subscribe
16-
fun onConnected(event: ServerConnectedEvent) {
17-
val previousServer = event.previousServer.getOrNull()
16+
fun onConnected(event: ServerPostConnectEvent) {
17+
val previousServer = event.previousServer
18+
val newServer = event.player.currentServer.getOrNull()?.serverInfo?.name
1819

1920
if (previousServer != null) {
2021
val player =
2122
surfPlayerService.players.find { it.uuid == event.player.uniqueId } ?: return
22-
player.currentServer = event.server.serverInfo.name
23+
player.currentServer = newServer
2324

2425
surfPlayerService.cachePlayer(player)
2526
return
@@ -34,7 +35,7 @@ object ConnectionListener {
3435
}
3536
lastSeen = System.currentTimeMillis()
3637
lastKnownName = event.player.username
37-
currentServer = event.server.serverInfo.name
38+
currentServer = newServer
3839
}
3940

4041
surfPlayerService.cachePlayer(player)

0 commit comments

Comments
 (0)