Add all packets handler
This commit is contained in:
25 files changed
+202
-105
No files matched your search
@@ -7,7 +7,7 @@
|
||||
|
||||
package cn.rtast.libmc.mcping.bedrock
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.stream.UdpSocket
|
||||
import cn.rtast.libmc.stream.wrap
|
||||
import cn.rtast.libmc.mcping.PingResponse
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright © 2026 RTAkland
|
||||
* Author: RTAkland
|
||||
* Date: 2026/9/7
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.mcping.java
|
||||
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.ReadChannel
|
||||
import cn.rtast.libmc.stream.wrap
|
||||
|
||||
private suspend fun ReadChannel.readVarInt(): Int {
|
||||
var numRead = 0
|
||||
var result = 0
|
||||
var read: Byte
|
||||
do {
|
||||
read = this.readByte()
|
||||
val value = (read.toInt() and 0x7F)
|
||||
result = result or (value shl (7 * numRead))
|
||||
numRead++
|
||||
if (numRead > 5) throw IllegalArgumentException("VarInt is too big")
|
||||
} while ((read.toInt() and 0x80) != 0)
|
||||
return result
|
||||
}
|
||||
|
||||
public suspend fun ReadChannel.readPacketFrame(): BytesBuffer {
|
||||
val length = this.readVarInt()
|
||||
return this.readBytes(length).wrap()
|
||||
}
|
||||
@@ -7,13 +7,12 @@
|
||||
|
||||
package cn.rtast.libmc.mcping.java
|
||||
|
||||
import cn.rtast.libmc.common.*
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.mcping.PingResponse
|
||||
import cn.rtast.libmc.mcping.sendPacket
|
||||
import cn.rtast.libmc.primitives.McStringCodec
|
||||
import cn.rtast.libmc.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.stream.Socket
|
||||
import cn.rtast.libmc.stream.readPacketFrame
|
||||
import cn.rtast.libmc.mcping.PingResponse
|
||||
import cn.rtast.libmc.mcping.sendPacket
|
||||
import kotlin.time.Clock
|
||||
|
||||
internal suspend fun pingJavaServer(host: String, port: Int, context: LibMCContext): PingResponse {
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
package cn.rtast.libmc.mcping
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.mcping.bedrock.pingBedrockServer
|
||||
import cn.rtast.libmc.mcping.java.pingJavaServer
|
||||
import kotlin.jvm.JvmName
|
||||
|
||||
Reference in New Issue
Block a user