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()
|
|
|
|
|
}
|
|
|
|
|
}
|