complete child side api
This commit is contained in:
@@ -2,26 +2,46 @@ package cc.maxmc.msm.child.api
|
||||
|
||||
import cc.maxmc.msm.api.MultiServerManAPI
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.child.netty.NetClient
|
||||
import cc.maxmc.msm.common.network.packet.PPacketAPICall
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer
|
||||
import java.util.UUID
|
||||
import java.util.concurrent.Future
|
||||
import java.util.*
|
||||
import java.util.concurrent.CompletableFuture
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
object APIImpl: MultiServerManAPI {
|
||||
val apiCallCache = HashMap<UUID, Future<Any>>()
|
||||
object APIImpl : MultiServerManAPI {
|
||||
val apiCallCache = HashMap<UUID, CompletableFuture<out Any>>()
|
||||
|
||||
override fun getServer(type: String, players: MutableList<ProxiedPlayer>): ServerInfo {
|
||||
TODO("Not yet implemented")
|
||||
val packet = PPacketAPICall.PPacketCallGetServer(type, players.map { it.name })
|
||||
NetClient.sendPacket(packet)
|
||||
val future = CompletableFuture<ServerInfo>()
|
||||
apiCallCache[UUID.randomUUID()] = future
|
||||
return future.get(1, TimeUnit.SECONDS)
|
||||
}
|
||||
|
||||
override fun informEnd(id: Int) {
|
||||
TODO("Not yet implemented")
|
||||
val packet = PPacketAPICall.PPacketCallInformEnd(id)
|
||||
NetClient.sendPacket(packet)
|
||||
val future = CompletableFuture<Unit>()
|
||||
apiCallCache[UUID.randomUUID()] = future
|
||||
future.get(1, TimeUnit.SECONDS)
|
||||
return
|
||||
}
|
||||
|
||||
override fun getPlayerServer(player: ProxiedPlayer): ServerInfo {
|
||||
TODO("Not yet implemented")
|
||||
val packet = PPacketAPICall.PPacketCallGetPlayerServer(player.name)
|
||||
NetClient.sendPacket(packet)
|
||||
val future = CompletableFuture<ServerInfo>()
|
||||
apiCallCache[UUID.randomUUID()] = future
|
||||
return future.get(1, TimeUnit.SECONDS)
|
||||
}
|
||||
|
||||
override fun containPlayer(player: ProxiedPlayer): Boolean {
|
||||
TODO("Not yet implemented")
|
||||
val packet = PPacketAPICall.PPacketCallContainPlayer(player.name)
|
||||
NetClient.sendPacket(packet)
|
||||
val future = CompletableFuture<Boolean>()
|
||||
apiCallCache[UUID.randomUUID()] = future
|
||||
return future.get(1, TimeUnit.SECONDS)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user