Files
Minikura/plugins/MinikuraVelocity/src/main/kotlin/cafe/kirameki/minikuraVelocity/MinikuraWebSocketClient.kt
T

27 lines
969 B
Kotlin
Raw Normal View History

2025-01-02 12:16:41 +07:00
package cafe.kirameki.minikuraVelocity
import com.velocitypowered.api.proxy.ProxyServer
import org.java_websocket.client.WebSocketClient
import org.java_websocket.handshake.ServerHandshake
2025-01-02 22:14:51 +07:00
import org.slf4j.Logger
2025-01-02 12:16:41 +07:00
import java.net.URI
import java.time.Duration
2025-01-02 22:14:51 +07:00
class MinikuraWebSocketClient(private val plugin: Main, private val logger: Logger, private val server: ProxyServer, serverUri: URI?) : WebSocketClient(serverUri) {
2025-01-02 12:16:41 +07:00
override fun onOpen(handshakedata: ServerHandshake) {
2025-01-02 22:14:51 +07:00
logger.info("Connected to websocket")
2025-01-02 12:16:41 +07:00
}
override fun onMessage(message: String) {
2025-01-02 22:14:51 +07:00
logger.debug("Received: $message")
2025-01-02 12:16:41 +07:00
}
override fun onError(ex: Exception) {
ex.printStackTrace()
}
override fun onClose(code: Int, reason: String, remote: Boolean) {
2025-01-02 22:14:51 +07:00
logger.info("Connection closed, attempting to reconnect...")
2025-01-02 12:16:41 +07:00
server.scheduler.buildTask(plugin, Runnable { reconnect() }).delay(Duration.ofMillis(5000)).schedule()
}
}