From 4ed862abd6a47b6b06872f0062fd349a8d6d6132 Mon Sep 17 00:00:00 2001 From: RTAkland Date: Fri, 4 Sep 2026 15:21:22 +0800 Subject: [PATCH] Rename project --- README.md | 2 +- build.gradle.kts | 2 +- .../{mcping/platform => libmc/common}/buffer.kt | 3 ++- .../platform => libmc/common}/byte_order.kt | 2 +- .../{mcping/platform => libmc/common}/channels.kt | 2 +- .../{mcping/platform => libmc/common}/context.kt | 4 ++-- .../{mcping/platform => libmc/common}/socket.kt | 6 +++--- .../platform => libmc/common}/buffer.jvm.kt | 5 ++++- .../platform => libmc/common}/channels.jvm.kt | 2 +- .../platform => libmc/common}/context.jvm.kt | 4 ++-- .../platform => libmc/common}/order_convert.kt | 2 +- .../platform => libmc/common}/socket.jvm.kt | 6 +++--- .../platform => libmc/common}/buffer.native.kt | 13 +++++++++++-- .../platform => libmc/common}/channels.native.kt | 2 +- .../platform => libmc/common}/context.native.kt | 4 ++-- .../platform => libmc/common}/socket.native.kt | 6 +++--- .../cn/rtast/{ => libmc}/mcping/bedrock/packet.kt | 4 ++-- .../{ => libmc}/mcping/bedrock/packet_writer.kt | 7 ++++--- .../{ => libmc}/mcping/bedrock/ping_bedrock.kt | 12 ++++++------ .../mcping/bedrock/ping_response_parser.kt | 4 ++-- .../rtast/{ => libmc}/mcping/java/mc_primitives.kt | 6 +++--- .../cn/rtast/{ => libmc}/mcping/java/packet.kt | 4 ++-- .../rtast/{ => libmc}/mcping/java/packet_writer.kt | 6 +++--- .../cn/rtast/{ => libmc}/mcping/java/ping_java.kt | 10 +++++----- .../kotlin/cn/rtast/{ => libmc}/mcping/mcping.kt | 10 +++++----- .../cn/rtast/{ => libmc}/mcping/ping_response.kt | 6 +++--- .../cn/rtast/{ => libmc}/mcping/server_type.kt | 2 +- mcping/src/commonTest/kotlin/test/TestPing.kt | 4 ++-- mcping/src/jvmTest/java/test/TestPingInJava.java | 6 +++--- mcping/src/mingwTest/kotlin/test/TestMingwPing.kt | 10 +++++----- .../rtast/{ => libmc}/mcping/rconlib/buffer_ext.kt | 4 ++-- .../cn/rtast/{ => libmc}/mcping/rconlib/packet.kt | 10 +++++----- .../{ => libmc}/mcping/rconlib/packet_type.kt | 2 +- .../cn/rtast/{ => libmc}/mcping/rconlib/rconlib.kt | 14 +++++++------- rconlib/src/commonTest/kotlin/test/TestRCON.kt | 2 +- .../jvmTest/java/test/TestRconClientOnJava.java | 4 ++-- settings.gradle.kts | 4 ++-- 37 files changed, 105 insertions(+), 91 deletions(-) rename common/src/commonMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/buffer.kt (93%) rename common/src/commonMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/byte_order.kt (80%) rename common/src/commonMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/channels.kt (95%) rename common/src/commonMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/context.kt (71%) rename common/src/commonMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/socket.kt (81%) rename common/src/jvmMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/buffer.jvm.kt (94%) rename common/src/jvmMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/channels.jvm.kt (98%) rename common/src/jvmMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/context.jvm.kt (63%) rename common/src/jvmMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/order_convert.kt (97%) rename common/src/jvmMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/socket.jvm.kt (90%) rename common/src/nativeMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/buffer.native.kt (87%) rename common/src/nativeMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/channels.native.kt (98%) rename common/src/nativeMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/context.native.kt (85%) rename common/src/nativeMain/kotlin/cn/rtast/{mcping/platform => libmc/common}/socket.native.kt (92%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/bedrock/packet.kt (97%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/bedrock/packet_writer.kt (69%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/bedrock/ping_bedrock.kt (79%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/bedrock/ping_response_parser.kt (96%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/java/mc_primitives.kt (90%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/java/packet.kt (94%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/java/packet_writer.kt (80%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/java/ping_java.kt (84%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/mcping.kt (65%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/ping_response.kt (69%) rename mcping/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/server_type.kt (81%) rename rconlib/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/rconlib/buffer_ext.kt (63%) rename rconlib/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/rconlib/packet.kt (91%) rename rconlib/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/rconlib/packet_type.kt (83%) rename rconlib/src/commonMain/kotlin/cn/rtast/{ => libmc}/mcping/rconlib/rconlib.kt (78%) diff --git a/README.md b/README.md index f271248..9a2ea05 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# mcping +# libmc A lightweight motd ping / rcon client library for kotlin multiplatform and java, no dependencies in `jvm` target except `kotlin-stdlib` diff --git a/build.gradle.kts b/build.gradle.kts index d6c3080..a2ea04e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } allprojects { - group = "cn.rtast.mcping" + group = "cn.rtast.libmc" version = providers.gradleProperty("libVersion").get() repositories { diff --git a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/buffer.kt b/common/src/commonMain/kotlin/cn/rtast/libmc/common/buffer.kt similarity index 93% rename from common/src/commonMain/kotlin/cn/rtast/mcping/platform/buffer.kt rename to common/src/commonMain/kotlin/cn/rtast/libmc/common/buffer.kt index 5b03016..0e9186d 100644 --- a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/buffer.kt +++ b/common/src/commonMain/kotlin/cn/rtast/libmc/common/buffer.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common @Suppress("CLASSNAME") public expect class _Buffer { @@ -24,6 +24,7 @@ public expect class _Buffer { public fun readLong(endian: ByteOrder = ByteOrder.BIG_ENDIAN): Long public fun readBytes(length: Int): ByteArray public fun toByteArray(): ByteArray + public fun hasRemaining(): Boolean public fun close() public val size: Int } diff --git a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/byte_order.kt b/common/src/commonMain/kotlin/cn/rtast/libmc/common/byte_order.kt similarity index 80% rename from common/src/commonMain/kotlin/cn/rtast/mcping/platform/byte_order.kt rename to common/src/commonMain/kotlin/cn/rtast/libmc/common/byte_order.kt index 89182d3..7de8407 100644 --- a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/byte_order.kt +++ b/common/src/commonMain/kotlin/cn/rtast/libmc/common/byte_order.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common public enum class ByteOrder { BIG_ENDIAN, LITTLE_ENDIAN diff --git a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/channels.kt b/common/src/commonMain/kotlin/cn/rtast/libmc/common/channels.kt similarity index 95% rename from common/src/commonMain/kotlin/cn/rtast/mcping/platform/channels.kt rename to common/src/commonMain/kotlin/cn/rtast/libmc/common/channels.kt index b808d87..186aed8 100644 --- a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/channels.kt +++ b/common/src/commonMain/kotlin/cn/rtast/libmc/common/channels.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common @Suppress("CLASSNAME") public expect class _ReadChannel { diff --git a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/context.kt b/common/src/commonMain/kotlin/cn/rtast/libmc/common/context.kt similarity index 71% rename from common/src/commonMain/kotlin/cn/rtast/mcping/platform/context.kt rename to common/src/commonMain/kotlin/cn/rtast/libmc/common/context.kt index 0f17788..085d57d 100644 --- a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/context.kt +++ b/common/src/commonMain/kotlin/cn/rtast/libmc/common/context.kt @@ -5,10 +5,10 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common /** * An object class used to pass some parameters * that exists only on native targets */ -public expect class MCPingContext() \ No newline at end of file +public expect class LibMCContext() \ No newline at end of file diff --git a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/socket.kt b/common/src/commonMain/kotlin/cn/rtast/libmc/common/socket.kt similarity index 81% rename from common/src/commonMain/kotlin/cn/rtast/mcping/platform/socket.kt rename to common/src/commonMain/kotlin/cn/rtast/libmc/common/socket.kt index 8e28496..eda5ecc 100644 --- a/common/src/commonMain/kotlin/cn/rtast/mcping/platform/socket.kt +++ b/common/src/commonMain/kotlin/cn/rtast/libmc/common/socket.kt @@ -5,17 +5,17 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common @Suppress("CLASSNAME") -public expect class _Socket public constructor(host: String, port: Int, context: MCPingContext) { +public expect class _Socket public constructor(host: String, port: Int, context: LibMCContext) { public fun openReadChannel(): _ReadChannel public fun openWriteChannel(): _WriteChannel public fun close() } @Suppress("CLASSNAME") -public expect class _UdpSocket public constructor(host: String, port: Int, context: MCPingContext) { +public expect class _UdpSocket public constructor(host: String, port: Int, context: LibMCContext) { public fun sendAndReceive(data: ByteArray): ByteArray public fun close() } \ No newline at end of file diff --git a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/buffer.jvm.kt b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/buffer.jvm.kt similarity index 94% rename from common/src/jvmMain/kotlin/cn/rtast/mcping/platform/buffer.jvm.kt rename to common/src/jvmMain/kotlin/cn/rtast/libmc/common/buffer.jvm.kt index 4fa9762..a94cf25 100644 --- a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/buffer.jvm.kt +++ b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/buffer.jvm.kt @@ -4,7 +4,7 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import java.io.ByteArrayOutputStream @@ -21,6 +21,7 @@ public actual class _Buffer { } public actual fun writeByte(value: Byte) { + readBuffer = null outStream.write(value.toInt()) } @@ -58,6 +59,7 @@ public actual class _Buffer { } public actual fun writeBytes(bytes: ByteArray) { + readBuffer = null outStream.write(bytes) } @@ -88,6 +90,7 @@ public actual class _Buffer { } public actual fun toByteArray(): ByteArray = outStream.toByteArray() + public actual fun hasRemaining(): Boolean = readOffset < ensureReadArray().size public actual fun close(): Unit = outStream.close() public actual val size: Int get() = outStream.size() diff --git a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/channels.jvm.kt b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/channels.jvm.kt similarity index 98% rename from common/src/jvmMain/kotlin/cn/rtast/mcping/platform/channels.jvm.kt rename to common/src/jvmMain/kotlin/cn/rtast/libmc/common/channels.jvm.kt index f89bf52..8c932c4 100644 --- a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/channels.jvm.kt +++ b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/channels.jvm.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import java.io.EOFException import java.io.InputStream diff --git a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/context.jvm.kt b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/context.jvm.kt similarity index 63% rename from common/src/jvmMain/kotlin/cn/rtast/mcping/platform/context.jvm.kt rename to common/src/jvmMain/kotlin/cn/rtast/libmc/common/context.jvm.kt index 93857f9..14a4c1b 100644 --- a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/context.jvm.kt +++ b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/context.jvm.kt @@ -4,9 +4,9 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common /** * No Context for jvm targets */ -public actual class MCPingContext \ No newline at end of file +public actual class LibMCContext \ No newline at end of file diff --git a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/order_convert.kt b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/order_convert.kt similarity index 97% rename from common/src/jvmMain/kotlin/cn/rtast/mcping/platform/order_convert.kt rename to common/src/jvmMain/kotlin/cn/rtast/libmc/common/order_convert.kt index 22a57ff..886baeb 100644 --- a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/order_convert.kt +++ b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/order_convert.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common internal fun ByteArray.toShort(endian: ByteOrder = ByteOrder.BIG_ENDIAN): Short { val b1 = this[0].toInt() and 0xFF diff --git a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/socket.jvm.kt b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/socket.jvm.kt similarity index 90% rename from common/src/jvmMain/kotlin/cn/rtast/mcping/platform/socket.jvm.kt rename to common/src/jvmMain/kotlin/cn/rtast/libmc/common/socket.jvm.kt index c725bd8..286ff44 100644 --- a/common/src/jvmMain/kotlin/cn/rtast/mcping/platform/socket.jvm.kt +++ b/common/src/jvmMain/kotlin/cn/rtast/libmc/common/socket.jvm.kt @@ -4,7 +4,7 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import java.net.DatagramPacket import java.net.DatagramSocket @@ -12,7 +12,7 @@ import java.net.InetSocketAddress import java.net.Socket as JvmSocket @Suppress("CLASSNAME") -public actual class _Socket public actual constructor(host: String, port: Int, context: MCPingContext) { +public actual class _Socket public actual constructor(host: String, port: Int, context: LibMCContext) { private val socket = JvmSocket(host, port) public actual fun openReadChannel(): _ReadChannel = _ReadChannel(socket.getInputStream()) @@ -21,7 +21,7 @@ public actual class _Socket public actual constructor(host: String, port: Int, c } @Suppress("CLASSNAME") -public actual class _UdpSocket public actual constructor(host: String, port: Int, context: MCPingContext) { +public actual class _UdpSocket public actual constructor(host: String, port: Int, context: LibMCContext) { private val socket = DatagramSocket().apply { soTimeout = 3000 connect(InetSocketAddress(host, port)) diff --git a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/buffer.native.kt b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/buffer.native.kt similarity index 87% rename from common/src/nativeMain/kotlin/cn/rtast/mcping/platform/buffer.native.kt rename to common/src/nativeMain/kotlin/cn/rtast/libmc/common/buffer.native.kt index 39738fd..bca7cd2 100644 --- a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/buffer.native.kt +++ b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/buffer.native.kt @@ -4,7 +4,7 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import io.ktor.utils.io.bits.* import kotlinx.io.Buffer @@ -56,7 +56,16 @@ public actual class _Buffer { } public actual fun readBytes(length: Int): ByteArray = _delegateBuf.readByteArray(length) - public actual fun toByteArray(): ByteArray = _delegateBuf.peek().readByteArray() + public actual fun toByteArray(): ByteArray { + val copy = _delegateBuf.peek() + return try { + copy.readByteArray() + } finally { + copy.close() + } + } + + public actual fun hasRemaining(): Boolean = !_delegateBuf.exhausted() public actual fun close(): Unit = _delegateBuf.close() public actual val size: Int diff --git a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/channels.native.kt b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/channels.native.kt similarity index 98% rename from common/src/nativeMain/kotlin/cn/rtast/mcping/platform/channels.native.kt rename to common/src/nativeMain/kotlin/cn/rtast/libmc/common/channels.native.kt index a9a4c02..d5902f6 100644 --- a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/channels.native.kt +++ b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/channels.native.kt @@ -4,7 +4,7 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import io.ktor.utils.io.* import io.ktor.utils.io.bits.reverseByteOrder diff --git a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/context.native.kt b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/context.native.kt similarity index 85% rename from common/src/nativeMain/kotlin/cn/rtast/mcping/platform/context.native.kt rename to common/src/nativeMain/kotlin/cn/rtast/libmc/common/context.native.kt index e808136..756ebad 100644 --- a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/context.native.kt +++ b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/context.native.kt @@ -6,13 +6,13 @@ @file:Suppress("PropertyName") -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import io.ktor.network.selector.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO -public actual class MCPingContext actual constructor() { +public actual class LibMCContext actual constructor() { internal var _selectorManager: SelectorManager = SelectorManager(Dispatchers.IO) internal var _autoCloseSelectorManager: Boolean = false diff --git a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/socket.native.kt b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/socket.native.kt similarity index 92% rename from common/src/nativeMain/kotlin/cn/rtast/mcping/platform/socket.native.kt rename to common/src/nativeMain/kotlin/cn/rtast/libmc/common/socket.native.kt index b706bfe..ff52576 100644 --- a/common/src/nativeMain/kotlin/cn/rtast/mcping/platform/socket.native.kt +++ b/common/src/nativeMain/kotlin/cn/rtast/libmc/common/socket.native.kt @@ -4,7 +4,7 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.platform +package cn.rtast.libmc.common import io.ktor.network.sockets.* import io.ktor.utils.io.core.* @@ -12,7 +12,7 @@ import kotlinx.coroutines.runBlocking import kotlinx.io.readByteArray @Suppress("CLASSNAME") -public actual class _Socket public actual constructor(host: String, port: Int, context: MCPingContext) { +public actual class _Socket public actual constructor(host: String, port: Int, context: LibMCContext) { private val ctx = context private val socket = runBlocking { aSocket(ctx._selectorManager).tcp().connect(host, port) } @@ -27,7 +27,7 @@ public actual class _Socket public actual constructor(host: String, port: Int, c } @Suppress("CLASSNAME") -public actual class _UdpSocket public actual constructor(host: String, port: Int, context: MCPingContext) { +public actual class _UdpSocket public actual constructor(host: String, port: Int, context: LibMCContext) { private val ctx = context // use bind to create an unconnected socket diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet.kt similarity index 97% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet.kt index 6024522..287419d 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet.kt @@ -5,9 +5,9 @@ */ -package cn.rtast.mcping.bedrock +package cn.rtast.libmc.mcping.bedrock -import cn.rtast.mcping.platform._Buffer +import cn.rtast.libmc.common._Buffer import kotlin.random.Random private val rakNetMagic = byteArrayOf( diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet_writer.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet_writer.kt similarity index 69% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet_writer.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet_writer.kt index 9fcf19f..94c70c8 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/packet_writer.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/packet_writer.kt @@ -5,10 +5,11 @@ */ -package cn.rtast.mcping.bedrock +package cn.rtast.libmc.mcping.bedrock + +import cn.rtast.libmc.common._Buffer +import cn.rtast.libmc.common._UdpSocket -import cn.rtast.mcping.platform._Buffer -import cn.rtast.mcping.platform._UdpSocket internal fun _UdpSocket.sendPacket(packet: MinecraftBedrockPacket): ByteArray { val buf = _Buffer() diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_bedrock.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_bedrock.kt similarity index 79% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_bedrock.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_bedrock.kt index d5c5ed5..f38487b 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_bedrock.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_bedrock.kt @@ -5,15 +5,15 @@ */ -package cn.rtast.mcping.bedrock +package cn.rtast.libmc.mcping.bedrock -import cn.rtast.mcping.PingResponse -import cn.rtast.mcping.platform.MCPingContext -import cn.rtast.mcping.platform._UdpSocket -import cn.rtast.mcping.platform.wrap +import cn.rtast.libmc.common.LibMCContext +import cn.rtast.libmc.common._UdpSocket +import cn.rtast.libmc.common.wrap +import cn.rtast.libmc.mcping.PingResponse import kotlin.time.Clock -internal fun pingBedrockServer(host: String, port: Int, context: MCPingContext): PingResponse { +internal fun pingBedrockServer(host: String, port: Int, context: LibMCContext): PingResponse { val socket = _UdpSocket(host, port, context) return try { val sendTime = Clock.System.now().toEpochMilliseconds() diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_response_parser.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_response_parser.kt similarity index 96% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_response_parser.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_response_parser.kt index b9c7ebc..a9aae13 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/bedrock/ping_response_parser.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/bedrock/ping_response_parser.kt @@ -5,9 +5,9 @@ */ -package cn.rtast.mcping.bedrock +package cn.rtast.libmc.mcping.bedrock -import cn.rtast.mcping.PingResponse +import cn.rtast.libmc.mcping.PingResponse public enum class BedrockGameMode(public val gameMode: String) { Survival("Survival"), diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/mc_primitives.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/mc_primitives.kt similarity index 90% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/java/mc_primitives.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/mc_primitives.kt index be8a06c..f9ba094 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/mc_primitives.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/mc_primitives.kt @@ -4,10 +4,10 @@ * Date: 2026/9/3 */ -package cn.rtast.mcping.java +package cn.rtast.libmc.mcping.java -import cn.rtast.mcping.platform._Buffer -import cn.rtast.mcping.platform._ReadChannel +import cn.rtast.libmc.common._Buffer +import cn.rtast.libmc.common._ReadChannel internal fun _Buffer.writeVarInt(value: Int) { diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet.kt similarity index 94% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet.kt index d406bdb..0c78f8f 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet.kt @@ -5,9 +5,9 @@ */ -package cn.rtast.mcping.java +package cn.rtast.libmc.mcping.java -import cn.rtast.mcping.platform._Buffer +import cn.rtast.libmc.common._Buffer internal interface MinecraftPacket { val packetId: Int diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet_writer.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet_writer.kt similarity index 80% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet_writer.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet_writer.kt index 02652ed..f4b12a7 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/packet_writer.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/packet_writer.kt @@ -5,10 +5,10 @@ */ -package cn.rtast.mcping.java +package cn.rtast.libmc.mcping.java -import cn.rtast.mcping.platform._Buffer -import cn.rtast.mcping.platform._WriteChannel +import cn.rtast.libmc.common._Buffer +import cn.rtast.libmc.common._WriteChannel internal fun _WriteChannel.sendPacket(packet: MinecraftPacket) { val bodyBuffer = _Buffer() diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/ping_java.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/ping_java.kt similarity index 84% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/java/ping_java.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/ping_java.kt index 4d5ab12..8966ab2 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/java/ping_java.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/java/ping_java.kt @@ -5,14 +5,14 @@ */ -package cn.rtast.mcping.java +package cn.rtast.libmc.mcping.java -import cn.rtast.mcping.PingResponse -import cn.rtast.mcping.platform.MCPingContext -import cn.rtast.mcping.platform._Socket +import cn.rtast.libmc.common.LibMCContext +import cn.rtast.libmc.common._Socket +import cn.rtast.libmc.mcping.PingResponse import kotlin.time.Clock -internal fun pingJavaServer(host: String, port: Int, context: MCPingContext): PingResponse { +internal fun pingJavaServer(host: String, port: Int, context: LibMCContext): PingResponse { val socket = _Socket(host, port, context) val receiveChannel = socket.openReadChannel() val sendChannel = socket.openWriteChannel() diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/mcping.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/mcping.kt similarity index 65% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/mcping.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/mcping.kt index be9dc86..933c519 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/mcping.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/mcping.kt @@ -7,11 +7,11 @@ @file:JvmName("McPing") -package cn.rtast.mcping +package cn.rtast.libmc.mcping -import cn.rtast.mcping.bedrock.pingBedrockServer -import cn.rtast.mcping.java.pingJavaServer -import cn.rtast.mcping.platform.MCPingContext +import cn.rtast.libmc.common.LibMCContext +import cn.rtast.libmc.mcping.bedrock.pingBedrockServer +import cn.rtast.libmc.mcping.java.pingJavaServer import kotlin.jvm.JvmName import kotlin.jvm.JvmOverloads @@ -20,7 +20,7 @@ public fun mcping( host: String, port: Int, type: ServerType = ServerType.Java, - context: MCPingContext = MCPingContext(), + context: LibMCContext = LibMCContext(), ): PingResponse = when (type) { ServerType.Java -> pingJavaServer(host, port, context) ServerType.Bedrock -> pingBedrockServer(host, port, context) diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/ping_response.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/ping_response.kt similarity index 69% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/ping_response.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/ping_response.kt index c8ce0cc..30aea83 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/ping_response.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/ping_response.kt @@ -5,10 +5,10 @@ */ -package cn.rtast.mcping +package cn.rtast.libmc.mcping -import cn.rtast.mcping.bedrock.BedrockPingResponse -import cn.rtast.mcping.bedrock.parseBedrockPingResponse +import cn.rtast.libmc.mcping.bedrock.BedrockPingResponse +import cn.rtast.libmc.mcping.bedrock.parseBedrockPingResponse public data class PingResponse( /** diff --git a/mcping/src/commonMain/kotlin/cn/rtast/mcping/server_type.kt b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/server_type.kt similarity index 81% rename from mcping/src/commonMain/kotlin/cn/rtast/mcping/server_type.kt rename to mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/server_type.kt index a654bd5..50f66ab 100644 --- a/mcping/src/commonMain/kotlin/cn/rtast/mcping/server_type.kt +++ b/mcping/src/commonMain/kotlin/cn/rtast/libmc/mcping/server_type.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping +package cn.rtast.libmc.mcping public enum class ServerType { Java, Bedrock diff --git a/mcping/src/commonTest/kotlin/test/TestPing.kt b/mcping/src/commonTest/kotlin/test/TestPing.kt index 84398c4..d3ee447 100644 --- a/mcping/src/commonTest/kotlin/test/TestPing.kt +++ b/mcping/src/commonTest/kotlin/test/TestPing.kt @@ -7,8 +7,8 @@ package test -import cn.rtast.mcping.ServerType -import cn.rtast.mcping.mcping +import cn.rtast.libmc.mcping.ServerType +import cn.rtast.libmc.mcping.mcping import kotlinx.coroutines.test.runTest import kotlin.test.Test diff --git a/mcping/src/jvmTest/java/test/TestPingInJava.java b/mcping/src/jvmTest/java/test/TestPingInJava.java index 81d0ef6..30e2220 100644 --- a/mcping/src/jvmTest/java/test/TestPingInJava.java +++ b/mcping/src/jvmTest/java/test/TestPingInJava.java @@ -7,9 +7,9 @@ package test; -import cn.rtast.mcping.McPing; -import cn.rtast.mcping.PingResponse; -import cn.rtast.mcping.ServerType; +import cn.rtast.libmc.mcping.McPing; +import cn.rtast.libmc.mcping.PingResponse; +import cn.rtast.libmc.mcping.ServerType; import org.junit.Test; diff --git a/mcping/src/mingwTest/kotlin/test/TestMingwPing.kt b/mcping/src/mingwTest/kotlin/test/TestMingwPing.kt index 9189d3b..a27d374 100644 --- a/mcping/src/mingwTest/kotlin/test/TestMingwPing.kt +++ b/mcping/src/mingwTest/kotlin/test/TestMingwPing.kt @@ -7,9 +7,9 @@ package test -import cn.rtast.mcping.ServerType -import cn.rtast.mcping.mcping -import cn.rtast.mcping.platform.MCPingContext +import cn.rtast.libmc.common.LibMCContext +import cn.rtast.libmc.mcping.ServerType +import cn.rtast.libmc.mcping.mcping import io.ktor.network.selector.* import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.IO @@ -22,7 +22,7 @@ class TestMingwPing { fun `test ping java on mingw with selectorManager`() = runTest { val sm = SelectorManager(Dispatchers.IO) val response = - mcping(host = "org.mc-complex.com", port = 25565, type = ServerType.Java, context = MCPingContext(sm)) + mcping(host = "org.mc-complex.com", port = 25565, type = ServerType.Java, context = LibMCContext(sm)) println(response) } @@ -30,7 +30,7 @@ class TestMingwPing { fun `test ping bedrock on mingw with selectorManager`() = runTest { val sm = SelectorManager(Dispatchers.IO) val response = - mcping(host = "play.wildnetwork.net", port = 19132, type = ServerType.Bedrock, context = MCPingContext(sm)) + mcping(host = "play.wildnetwork.net", port = 19132, type = ServerType.Bedrock, context = LibMCContext(sm)) println(response) println(response.toBedrockResponse()) } diff --git a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/buffer_ext.kt b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/buffer_ext.kt similarity index 63% rename from rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/buffer_ext.kt rename to rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/buffer_ext.kt index 3a35587..f3687a4 100644 --- a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/buffer_ext.kt +++ b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/buffer_ext.kt @@ -5,8 +5,8 @@ */ -package cn.rtast.mcping.rconlib +package cn.rtast.libmc.mcping.rconlib -import cn.rtast.mcping.platform._Buffer +import cn.rtast.libmc.common._Buffer internal fun _Buffer.writeNull() = writeByte(0x00) \ No newline at end of file diff --git a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet.kt b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet.kt similarity index 91% rename from rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet.kt rename to rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet.kt index 871c889..41d9dec 100644 --- a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet.kt +++ b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet.kt @@ -5,12 +5,12 @@ */ -package cn.rtast.mcping.rconlib +package cn.rtast.libmc.mcping.rconlib -import cn.rtast.mcping.platform.ByteOrder -import cn.rtast.mcping.platform._Buffer -import cn.rtast.mcping.platform._ReadChannel -import cn.rtast.mcping.platform._WriteChannel +import cn.rtast.libmc.common.ByteOrder +import cn.rtast.libmc.common._Buffer +import cn.rtast.libmc.common._ReadChannel +import cn.rtast.libmc.common._WriteChannel internal abstract class Packet { abstract val requestId: Int diff --git a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet_type.kt b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet_type.kt similarity index 83% rename from rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet_type.kt rename to rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet_type.kt index a1fcceb..a62f565 100644 --- a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/packet_type.kt +++ b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/packet_type.kt @@ -5,7 +5,7 @@ */ -package cn.rtast.mcping.rconlib +package cn.rtast.libmc.mcping.rconlib internal object PacketType { const val AUTH = 3 diff --git a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/rconlib.kt b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/rconlib.kt similarity index 78% rename from rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/rconlib.kt rename to rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/rconlib.kt index 7b0744b..08757cb 100644 --- a/rconlib/src/commonMain/kotlin/cn/rtast/mcping/rconlib/rconlib.kt +++ b/rconlib/src/commonMain/kotlin/cn/rtast/libmc/mcping/rconlib/rconlib.kt @@ -6,19 +6,19 @@ @file:JvmName("Rconlib") -package cn.rtast.mcping.rconlib +package cn.rtast.libmc.mcping.rconlib -import cn.rtast.mcping.platform.MCPingContext -import cn.rtast.mcping.platform._ReadChannel -import cn.rtast.mcping.platform._Socket -import cn.rtast.mcping.platform._WriteChannel +import cn.rtast.libmc.common.LibMCContext +import cn.rtast.libmc.common._ReadChannel +import cn.rtast.libmc.common._Socket +import cn.rtast.libmc.common._WriteChannel import kotlin.jvm.JvmName import kotlin.jvm.JvmOverloads public class RCONClient internal constructor( private val host: String, private val port: Int, - private val context: MCPingContext, + private val context: LibMCContext, ) : AutoCloseable { private var socket: _Socket? = null private var readChannel: _ReadChannel? = null @@ -50,5 +50,5 @@ public class RCONClient internal constructor( } @JvmOverloads -public fun rconClient(host: String, port: Int, context: MCPingContext = MCPingContext()): RCONClient = +public fun rconClient(host: String, port: Int, context: LibMCContext = LibMCContext()): RCONClient = RCONClient(host, port, context) \ No newline at end of file diff --git a/rconlib/src/commonTest/kotlin/test/TestRCON.kt b/rconlib/src/commonTest/kotlin/test/TestRCON.kt index 9f81460..32aaf9d 100644 --- a/rconlib/src/commonTest/kotlin/test/TestRCON.kt +++ b/rconlib/src/commonTest/kotlin/test/TestRCON.kt @@ -7,7 +7,7 @@ package test -import cn.rtast.mcping.rconlib.rconClient +import cn.rtast.libmc.mcping.rconlib.rconClient import kotlin.test.Test class TestRCON { diff --git a/rconlib/src/jvmTest/java/test/TestRconClientOnJava.java b/rconlib/src/jvmTest/java/test/TestRconClientOnJava.java index 88aadce..5588425 100644 --- a/rconlib/src/jvmTest/java/test/TestRconClientOnJava.java +++ b/rconlib/src/jvmTest/java/test/TestRconClientOnJava.java @@ -7,8 +7,8 @@ package test; -import cn.rtast.mcping.rconlib.RCONClient; -import cn.rtast.mcping.rconlib.Rconlib; +import cn.rtast.libmc.mcping.rconlib.RCONClient; +import cn.rtast.libmc.mcping.rconlib.Rconlib; import org.junit.Test; public class TestRconClientOnJava { diff --git a/settings.gradle.kts b/settings.gradle.kts index aa97f56..02f974a 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,8 +1,8 @@ plugins { id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0" } -rootProject.name = "mcping" +rootProject.name = "libmc" +include(":common") include(":mcping") include(":rconlib") -include(":common") \ No newline at end of file