Rename package name of libmc-common
This commit is contained in:
290 files changed
+1071
-1074
No files matched your search
@@ -1,10 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2026 RTAkland
|
||||
* Author: RTAkland
|
||||
* Date: 2026/9/4
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.packet
|
||||
|
||||
public interface MinecraftPacket : PacketEvent
|
||||
@@ -1,10 +0,0 @@
|
||||
/*
|
||||
* Copyright © 2026 RTAkland
|
||||
* Author: RTAkland
|
||||
* Date: 2026/9/5
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.packet
|
||||
|
||||
public interface PacketEvent
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
/**
|
||||
* An object class used to pass some parameters
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.crypto
|
||||
package cn.rtast.libmc.crypto
|
||||
|
||||
public fun interface AuthenticationProvider {
|
||||
public suspend fun joinServer(url: String, accessToken: String, uuid: String, serverIdHash: String)
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.crypto
|
||||
package cn.rtast.libmc.crypto
|
||||
|
||||
public interface NetworkCipher {
|
||||
public suspend fun encrypt(buffer: ByteArray, offset: Int, length: Int)
|
||||
+9
-8
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.crypto
|
||||
package cn.rtast.libmc.crypto
|
||||
|
||||
public data class ProtocolContext(
|
||||
val rsaEncryptor: RSA1024Encryptor,
|
||||
@@ -20,13 +20,14 @@ public class ProtocolContextBuilder(private val onlineMode: Boolean) {
|
||||
public lateinit var cipherFactory: (sharedKey: ByteArray) -> NetworkCipher
|
||||
public lateinit var authProvider: AuthenticationProvider
|
||||
|
||||
public fun build(): ProtocolContext = ProtocolContext(
|
||||
rsaEncryptor = if (::rsaEncryptor.isInitialized) rsaEncryptor else error("rsaEncryptor is required"),
|
||||
sha1Hasher = if (::sha1Hasher.isInitialized) sha1Hasher else error("sha1Hasher is required"),
|
||||
cipherFactory = if (::cipherFactory.isInitialized) cipherFactory else error("cipherFactory is required"),
|
||||
authProvider = if (::authProvider.isInitialized) if (onlineMode) authProvider
|
||||
else error("authProvider is required") else error("authProvider is required")
|
||||
)
|
||||
public fun build(): ProtocolContext =
|
||||
ProtocolContext(
|
||||
rsaEncryptor = if (::rsaEncryptor.isInitialized) rsaEncryptor else error("rsaEncryptor is required"),
|
||||
sha1Hasher = if (::sha1Hasher.isInitialized) sha1Hasher else error("sha1Hasher is required"),
|
||||
cipherFactory = if (::cipherFactory.isInitialized) cipherFactory else error("cipherFactory is required"),
|
||||
authProvider = if (::authProvider.isInitialized) if (onlineMode) authProvider
|
||||
else error("authProvider is required") else error("authProvider is required")
|
||||
)
|
||||
}
|
||||
|
||||
public fun interface RSA1024Encryptor {
|
||||
+3
-3
@@ -5,17 +5,17 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.packet
|
||||
package cn.rtast.libmc.packet
|
||||
|
||||
/**
|
||||
* reserved packet
|
||||
*/
|
||||
public data class UnknownPacket(val packetId: Int, val data: ByteArray) : MinecraftPacket {
|
||||
public data class ClientboundUnknownPacket(val packetId: Int, val data: ByteArray) : MinecraftPacket {
|
||||
override fun equals(other: Any?): Boolean {
|
||||
if (this === other) return true
|
||||
if (other == null || this::class != other::class) return false
|
||||
|
||||
other as UnknownPacket
|
||||
other as ClientboundUnknownPacket
|
||||
|
||||
if (packetId != other.packetId) return false
|
||||
if (!data.contentEquals(other.data)) return false
|
||||
@@ -0,0 +1,10 @@
|
||||
/*
|
||||
* Copyright © 2026 RTAkland
|
||||
* Author: RTAkland
|
||||
* Date: 2026/9/4
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.packet
|
||||
|
||||
public interface MinecraftPacket
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.packet
|
||||
package cn.rtast.libmc.packet
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public interface Encoder<in T> {
|
||||
public suspend fun encode(buffer: BytesBuffer, value: T)
|
||||
+4
-4
@@ -5,10 +5,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.packet
|
||||
package cn.rtast.libmc.packet
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
public class PacketRegistry {
|
||||
@@ -29,7 +29,7 @@ public class PacketRegistry {
|
||||
}
|
||||
|
||||
public suspend fun decodePacket(packetId: Int, buffer: BytesBuffer): MinecraftPacket =
|
||||
idToCodec[packetId]?.decode(buffer) ?: UnknownPacket(packetId, buffer.readBytes(buffer.remaining.toInt()))
|
||||
idToCodec[packetId]?.decode(buffer) ?: ClientboundUnknownPacket(packetId, buffer.readRemainingBytes())
|
||||
|
||||
public suspend fun <T : MinecraftPacket> encodePacket(buffer: BytesBuffer, packet: T) {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public suspend fun BytesBuffer.readBitSet(): LongArray {
|
||||
val count = this.readVarInt()
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public sealed interface IdOrX<out T> {
|
||||
public data class Inline<T>(val value: T) : IdOrX<T>
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public sealed interface IdSet {
|
||||
public data class Tag(val tagName: String) : IdSet
|
||||
+3
-3
@@ -5,10 +5,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public object McStringCodec : PacketCodec<String> {
|
||||
override suspend fun encode(buffer: BytesBuffer, value: String) {
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public suspend inline fun <T> BytesBuffer.readOptional(block: BytesBuffer.() -> T): T? {
|
||||
val hasData = this.readBoolean()
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
|
||||
public suspend fun BytesBuffer.readPrefixedByteArray(): ByteArray {
|
||||
+2
-2
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
public suspend fun BytesBuffer.writeUuid(uuid: Uuid): Unit = uuid.toLongs { mostSignificantBits, leastSignificantBits ->
|
||||
+3
-3
@@ -5,10 +5,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public object VarIntCodec : PacketCodec<Int> {
|
||||
override suspend fun encode(buffer: BytesBuffer, value: Int) {
|
||||
+3
-3
@@ -5,10 +5,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.primitives
|
||||
package cn.rtast.libmc.primitives
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public object VarLongCodec : PacketCodec<Long> {
|
||||
override suspend fun encode(buffer: BytesBuffer, value: Long) {
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
public expect class BytesBuffer {
|
||||
public constructor()
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
public enum class ByteOrder {
|
||||
BIG_ENDIAN, LITTLE_ENDIAN
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
public expect open class ReadChannel() {
|
||||
public open suspend fun readByte(): Byte
|
||||
+3
-2
@@ -5,9 +5,10 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
|
||||
public expect class Socket public constructor(host: String, port: Int, context: LibMCContext) {
|
||||
public fun openReadChannel(): ReadChannel
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
public expect fun ByteArray.zlibDecompress(): ByteArray
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
package test
|
||||
|
||||
import cn.rtast.libmc.common.zlibCompress
|
||||
import cn.rtast.libmc.common.zlibDecompress
|
||||
import cn.rtast.libmc.zlibCompress
|
||||
import cn.rtast.libmc.zlibDecompress
|
||||
import kotlin.test.Test
|
||||
import kotlin.test.assertContentEquals
|
||||
import kotlin.test.assertEquals
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
/**
|
||||
* No Context for jvm targets
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import java.io.EOFException
|
||||
import java.io.InputStream
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
internal fun ByteArray.toShort(endian: ByteOrder = ByteOrder.BIG_ENDIAN): Short {
|
||||
val b1 = this[0].toInt() and 0xFF
|
||||
+2
-2
@@ -4,9 +4,9 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import java.net.DatagramPacket
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/4
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
import java.io.ByteArrayInputStream
|
||||
import java.io.ByteArrayOutputStream
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
@file:Suppress("PropertyName")
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
import io.ktor.network.selector.*
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import io.ktor.utils.io.core.*
|
||||
import kotlinx.io.*
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import io.ktor.utils.io.*
|
||||
import io.ktor.utils.io.bits.*
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
* Date: 2026/9/3
|
||||
*/
|
||||
|
||||
package cn.rtast.libmc.common.stream
|
||||
package cn.rtast.libmc.stream
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import io.ktor.network.sockets.*
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
@file:OptIn(ExperimentalForeignApi::class)
|
||||
|
||||
package cn.rtast.libmc.common
|
||||
package cn.rtast.libmc
|
||||
|
||||
import kotlinx.cinterop.*
|
||||
import platform.zlib.*
|
||||
Reference in New Issue
Block a user