sync with remote
This commit is contained in:
@@ -11,6 +11,7 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(project(":api"))
|
||||
implementation(kotlin("stdlib"))
|
||||
@Suppress("VulnerableLibrariesLocal")
|
||||
compileOnly("io.github.waterfallmc:waterfall-api:1.19-R0.1-SNAPSHOT")
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package cc.maxmc.msm.common.network.packet
|
||||
|
||||
import cc.maxmc.msm.api.misc.EnumAPI
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.common.network.BungeePacket
|
||||
import cc.maxmc.msm.common.utils.readServerInfo
|
||||
import cc.maxmc.msm.common.utils.writeServerInfo
|
||||
import io.netty.buffer.ByteBuf
|
||||
import net.md_5.bungee.protocol.DefinedPacket
|
||||
import java.util.*
|
||||
|
||||
sealed class PPacketAPICall(
|
||||
var api: EnumAPI = EnumAPI.GET_SERVER,
|
||||
var uid: UUID = UUID.randomUUID()
|
||||
) : BungeePacket() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
DefinedPacket.writeVarInt(api.ordinal, buf)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
api = EnumAPI.values()[buf.readByte().toInt()]
|
||||
}
|
||||
|
||||
class PPacketCallGetServer(
|
||||
var type: String = "",
|
||||
var players: List<String> = emptyList()
|
||||
) : PPacketAPICall() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
DefinedPacket.writeString(type, buf)
|
||||
DefinedPacket.writeStringArray(players, buf)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
type = DefinedPacket.readString(buf)
|
||||
players = DefinedPacket.readStringArray(buf)
|
||||
}
|
||||
}
|
||||
|
||||
class PPacketCallInformEnd(
|
||||
var matchID: Int = -1
|
||||
) : PPacketAPICall() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
DefinedPacket.writeVarInt(matchID, buf)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
matchID = DefinedPacket.readVarInt(buf)
|
||||
}
|
||||
}
|
||||
|
||||
class PPacketCallGetPlayerServer(
|
||||
var serverInfo: ServerInfo = ServerInfo()
|
||||
) : PPacketAPICall() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
buf.writeServerInfo(serverInfo)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
serverInfo = buf.readServerInfo()
|
||||
}
|
||||
}
|
||||
|
||||
class PPacketCallContainPlayer(
|
||||
var player: String = ""
|
||||
) : PPacketAPICall() {
|
||||
override fun encode(buf: ByteBuf) {
|
||||
super.encode(buf)
|
||||
DefinedPacket.writeString(player, buf)
|
||||
}
|
||||
|
||||
override fun decode(buf: ByteBuf) {
|
||||
super.decode(buf)
|
||||
player = DefinedPacket.readString(buf)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,8 @@ import cc.maxmc.msm.common.utils.debug
|
||||
import io.netty.buffer.ByteBuf
|
||||
|
||||
data class PPacketDebug(
|
||||
var content: String
|
||||
var content: String = ""
|
||||
) : BungeePacket() {
|
||||
constructor() : this("")
|
||||
|
||||
override fun encode(buf: ByteBuf) {
|
||||
debug("start packet encode")
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package cc.maxmc.msm.common.utils
|
||||
|
||||
import cc.maxmc.msm.api.misc.ServerInfo
|
||||
import cc.maxmc.msm.common.network.ClusterPacketHandler
|
||||
import cc.maxmc.msm.common.network.netty.ClusterMsgCodec
|
||||
import cc.maxmc.msm.common.network.netty.NetworkRegistry
|
||||
import com.google.common.net.HostAndPort
|
||||
import io.netty.buffer.ByteBuf
|
||||
import io.netty.channel.Channel
|
||||
import io.netty.channel.ChannelInitializer
|
||||
import io.netty.channel.socket.SocketChannel
|
||||
import net.md_5.bungee.protocol.DefinedPacket
|
||||
import net.md_5.bungee.protocol.Varint21FrameDecoder
|
||||
import net.md_5.bungee.protocol.Varint21LengthFieldPrepender
|
||||
|
||||
@@ -20,5 +24,18 @@ fun pipelineInit(direction: NetworkRegistry.PacketDirection) = channelInit<Socke
|
||||
pipeline().addLast("frame_prepender", Varint21LengthFieldPrepender())
|
||||
pipeline().addLast("codec", ClusterMsgCodec(direction))
|
||||
pipeline().addLast("packet_handler", ClusterPacketHandler)
|
||||
}
|
||||
|
||||
fun ByteBuf.writeServerInfo(info: ServerInfo) {
|
||||
DefinedPacket.writeString(info.server.toString(), this)
|
||||
DefinedPacket.writeVarInt(info.id, this)
|
||||
}
|
||||
|
||||
fun ByteBuf.readServerInfo(): ServerInfo {
|
||||
val hap = DefinedPacket.readString(this)
|
||||
val id = DefinedPacket.readVarInt(this)
|
||||
return ServerInfo(
|
||||
HostAndPort.fromString(hap),
|
||||
id
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user