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.*
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
package cn.rtast.libmc.mcping.bedrock
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import kotlin.random.Random
|
||||
|
||||
private val RAKNET_MAGIC = byteArrayOf(
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.mcping.bedrock
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.stream.UdpSocket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.UdpSocket
|
||||
|
||||
|
||||
internal suspend fun <T : MinecraftBedrockPacket> UdpSocket.sendPacket(packet: T, codec: PacketCodec<T>): ByteArray {
|
||||
|
||||
@@ -8,8 +8,8 @@
|
||||
package cn.rtast.libmc.mcping.bedrock
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.common.stream.UdpSocket
|
||||
import cn.rtast.libmc.common.stream.wrap
|
||||
import cn.rtast.libmc.stream.UdpSocket
|
||||
import cn.rtast.libmc.stream.wrap
|
||||
import cn.rtast.libmc.mcping.PingResponse
|
||||
import kotlin.time.Clock
|
||||
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.mcping.java
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.primitives.McStringCodec
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.primitives.McStringCodec
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
|
||||
// ref https://minecraft.wiki/w/Java_Edition_protocol/Packets#Handshake
|
||||
internal data class HandshakePacket(
|
||||
|
||||
@@ -8,10 +8,10 @@
|
||||
package cn.rtast.libmc.mcping.java
|
||||
|
||||
import cn.rtast.libmc.common.*
|
||||
import cn.rtast.libmc.common.primitives.McStringCodec
|
||||
import cn.rtast.libmc.common.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.common.stream.Socket
|
||||
import cn.rtast.libmc.common.stream.readPacketFrame
|
||||
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
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
package cn.rtast.libmc.mcping
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.common.stream.WriteChannel
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.writeBuffer
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.primitives.VarIntCodec
|
||||
import cn.rtast.libmc.stream.WriteChannel
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.writeBuffer
|
||||
|
||||
public suspend fun <T : MinecraftPacket> WriteChannel.sendPacket(packet: T, packetId: Int, codec: PacketCodec<T>) {
|
||||
val bodyBuffer = BytesBuffer()
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
|
||||
package cn.rtast.libmc.nbt
|
||||
|
||||
import cn.rtast.libmc.common.stream.ByteOrder
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.ByteOrder
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public class BytesBufferNBTInput(override val order: ByteOrder, private val buffer: BytesBuffer) : NBTInput {
|
||||
override suspend fun readByte(): Byte = buffer.readByte()
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.nbt
|
||||
|
||||
import cn.rtast.libmc.common.stream.ByteOrder
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.ByteOrder
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
|
||||
public class BytesBufferNBTOutput(
|
||||
override val order: ByteOrder,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
package cn.rtast.libmc.nbt
|
||||
|
||||
import cn.rtast.libmc.common.stream.ByteOrder
|
||||
import cn.rtast.libmc.stream.ByteOrder
|
||||
|
||||
public interface NBTInput {
|
||||
public val order: ByteOrder
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
package cn.rtast.libmc.nbt
|
||||
|
||||
import cn.rtast.libmc.common.stream.ByteOrder
|
||||
import cn.rtast.libmc.stream.ByteOrder
|
||||
|
||||
public interface NBTOutput {
|
||||
public val order: ByteOrder
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.nbt
|
||||
|
||||
import cn.rtast.libmc.common.gzipCompress
|
||||
import cn.rtast.libmc.common.gzipDecompress
|
||||
import cn.rtast.libmc.common.zlibCompress
|
||||
import cn.rtast.libmc.common.zlibDecompress
|
||||
import cn.rtast.libmc.gzipCompress
|
||||
import cn.rtast.libmc.gzipDecompress
|
||||
import cn.rtast.libmc.zlibCompress
|
||||
import cn.rtast.libmc.zlibDecompress
|
||||
|
||||
public sealed interface NbtCompressor {
|
||||
public fun compress(input: ByteArray): ByteArray
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
package test
|
||||
|
||||
import cn.rtast.libmc.common.stream.wrap
|
||||
import cn.rtast.libmc.stream.wrap
|
||||
import cn.rtast.libmc.nbt.NbtReader
|
||||
import org.junit.Test
|
||||
import java.io.File
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# libmc-protocol-encrypt
|
||||
|
||||
This module implemented `ProtocolCryptoContext` and provided a `DefaultProtocolCryptoContext`.
|
||||
This module implemented `ProtocolContext` and provided a `DefaultProtocolContext`.
|
||||
|
||||
## Get started
|
||||
|
||||
@@ -15,7 +15,7 @@ This module implemented `ProtocolCryptoContext` and provided a `DefaultProtocolC
|
||||
fun main() {
|
||||
val cli = createMinecraftClient(
|
||||
// ... other paramater
|
||||
crypto = DefaultProtocolCryptoContext
|
||||
crypto = DefaultProtocolContext
|
||||
)
|
||||
}
|
||||
```
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.crypto
|
||||
|
||||
import cn.rtast.libmc.common.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.crypto.NetworkCipher
|
||||
import dev.whyoleg.cryptography.DelicateCryptographyApi
|
||||
import dev.whyoleg.cryptography.algorithms.AES
|
||||
|
||||
|
||||
+5
-5
@@ -7,17 +7,17 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.crypto
|
||||
|
||||
import cn.rtast.libmc.common.crypto.AuthenticationProvider
|
||||
import cn.rtast.libmc.common.crypto.ProtocolContextBuilder
|
||||
import cn.rtast.libmc.common.crypto.RSA1024Encryptor
|
||||
import cn.rtast.libmc.common.crypto.Sha1Hasher
|
||||
import cn.rtast.libmc.crypto.AuthenticationProvider
|
||||
import cn.rtast.libmc.crypto.ProtocolContextBuilder
|
||||
import cn.rtast.libmc.crypto.RSA1024Encryptor
|
||||
import cn.rtast.libmc.crypto.Sha1Hasher
|
||||
import io.ktor.client.*
|
||||
import io.ktor.client.request.*
|
||||
import io.ktor.http.*
|
||||
|
||||
private val httpClient = HttpClient()
|
||||
|
||||
public val DefaultProtocolCryptoContext: ProtocolContextBuilder.() -> Unit = {
|
||||
public val DefaultProtocolContext: ProtocolContextBuilder.() -> Unit = {
|
||||
rsaEncryptor = RSA1024Encryptor { key, data -> rsaEncrypt(key, data) }
|
||||
sha1Hasher = Sha1Hasher { serverId, secretKey, publicKey -> minecraftServerIdHash(serverId, secretKey, publicKey) }
|
||||
cipherFactory = { key -> AesCFB8Cipher(key) }
|
||||
|
||||
@@ -6,10 +6,9 @@
|
||||
|
||||
package test
|
||||
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.protocol.client.createMinecraftClient
|
||||
import cn.rtast.libmc.protocol.crypto.DefaultProtocolCryptoContext
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.ClientboundLoginSuccessPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.ClientboundSystemChatMessagePacket
|
||||
import cn.rtast.libmc.protocol.crypto.DefaultProtocolContext
|
||||
import kotlinx.coroutines.launch
|
||||
import org.junit.Test
|
||||
import java.io.File
|
||||
@@ -30,10 +29,11 @@ class TestJvmClient {
|
||||
Uuid.parse("bb033844-e68e-4909-a636-1a5d1821ddc4"),
|
||||
// null,
|
||||
accessToken,
|
||||
crypto = DefaultProtocolCryptoContext
|
||||
crypto = DefaultProtocolContext
|
||||
)
|
||||
cli.on<ClientboundSystemChatMessagePacket> { println(it) }
|
||||
cli.on<ClientboundLoginSuccessPacket> { println(it) }
|
||||
// cli.on<ClientboundSystemChatMessagePacket> { println(it) }
|
||||
// cli.on<ClientboundLoginSuccessPacket> { println(it) }
|
||||
cli.on<MinecraftPacket> { println(it) }
|
||||
cli.launch { cli.connect() }
|
||||
while (true) {
|
||||
}
|
||||
|
||||
+8
-11
@@ -6,9 +6,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.client
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.common.crypto.ProtocolContext
|
||||
import cn.rtast.libmc.common.crypto.ProtocolContextBuilder
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.crypto.ProtocolContext
|
||||
import cn.rtast.libmc.crypto.ProtocolContextBuilder
|
||||
import cn.rtast.libmc.protocol.event.InternalPacketDispatcher
|
||||
import cn.rtast.libmc.protocol.event.PacketEventDispatcher
|
||||
import cn.rtast.libmc.protocol.network.NetworkChannel
|
||||
@@ -38,7 +38,7 @@ public class MinecraftClient internal constructor(
|
||||
internal val authProvider = cryptoContext.authProvider
|
||||
internal val stateMachine = ClientStateMachine()
|
||||
|
||||
internal val networkChannel = NetworkChannel(
|
||||
public val networkChannel: NetworkChannel = NetworkChannel(
|
||||
host = host,
|
||||
port = port,
|
||||
context = context,
|
||||
@@ -46,15 +46,12 @@ public class MinecraftClient internal constructor(
|
||||
cipherProvider = cryptoContext.cipherFactory
|
||||
)
|
||||
|
||||
internal val session get() = networkChannel.session
|
||||
private val internalPacketDispatcher = InternalPacketDispatcher(this, authProvider)
|
||||
private val clientJob = SupervisorJob(parentJob)
|
||||
private var listenJob: Job? = null
|
||||
|
||||
public val isOnlineMode: Boolean get() = accessToken != null
|
||||
public val transactionManager: TransactionIdManager = TransactionIdManager()
|
||||
override val coroutineContext: CoroutineContext
|
||||
get() = clientJob + ioDispatcher + CoroutineName("LibMC-MinecraftClient-$username")
|
||||
|
||||
public suspend fun connect(protocolVersion: Int = 776) {
|
||||
networkChannel.connect()
|
||||
@@ -67,13 +64,10 @@ public class MinecraftClient internal constructor(
|
||||
}
|
||||
|
||||
public fun setCompression(threshold: Int): Unit = networkChannel.setCompression(threshold)
|
||||
|
||||
private fun startListening() {
|
||||
listenJob = launch {
|
||||
try {
|
||||
while (isActive) {
|
||||
internalPacketDispatcher.handleIncomingPackets(networkChannel.readNextPacket())
|
||||
}
|
||||
while (isActive) internalPacketDispatcher.handleIncomingPackets(networkChannel.readNextPacket())
|
||||
} catch (e: Exception) {
|
||||
if (e is CancellationException) throw e
|
||||
if (isActive) {
|
||||
@@ -89,6 +83,9 @@ public class MinecraftClient internal constructor(
|
||||
networkChannel.close()
|
||||
clientJob.cancel()
|
||||
}
|
||||
|
||||
public override val coroutineContext: CoroutineContext
|
||||
get() = clientJob + ioDispatcher + CoroutineName("LibMC-MinecraftClient-$username")
|
||||
}
|
||||
|
||||
public fun createMinecraftClient(
|
||||
|
||||
+12
-6
@@ -7,19 +7,25 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.event
|
||||
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.crypto.AuthenticationProvider
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.protocol.client.MinecraftClient
|
||||
import cn.rtast.libmc.protocol.packet.configuration.clientbound.*
|
||||
import cn.rtast.libmc.protocol.packet.configuration.serverbound.*
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.*
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.ClientboundDisconnectLoginPacket
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.ClientboundHelloPacket
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.ClientboundLoginSuccessPacket
|
||||
import cn.rtast.libmc.protocol.packet.login.clientbound.ClientboundSetCompressionPacket
|
||||
import cn.rtast.libmc.protocol.packet.login.serverbound.ServerboundKeyPacket
|
||||
import cn.rtast.libmc.protocol.packet.login.serverbound.ServerboundLoginAcknowledgedPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.*
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.ClientboundDisconnectPlayPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.ClientboundKeepAlivePlayPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.ClientboundPingPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.clientbound.ClientboundStartConfigurationPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.serverbound.ServerboundConfigurationAcknowledgedPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.serverbound.ServerboundKeepAlivePlayPacket
|
||||
import cn.rtast.libmc.protocol.packet.play.serverbound.ServerboundPongPlayPacket
|
||||
import cn.rtast.libmc.protocol.protocol.state.ProtocolState
|
||||
import cn.rtast.libmc.common.crypto.AuthenticationProvider
|
||||
import cn.rtast.libmc.protocol.util.generateRandom16Bytes
|
||||
|
||||
public class InternalPacketDispatcher(
|
||||
@@ -27,7 +33,6 @@ public class InternalPacketDispatcher(
|
||||
private val authProvider: AuthenticationProvider,
|
||||
) {
|
||||
private suspend fun dispatchEvent(packet: MinecraftPacket) = client.dispatch(packet)
|
||||
|
||||
public suspend fun handleIncomingPackets(packet: MinecraftPacket) {
|
||||
this.dispatchEvent(packet)
|
||||
when (packet) {
|
||||
@@ -53,7 +58,7 @@ public class InternalPacketDispatcher(
|
||||
val encryptedSecret = client.rsa1024Encryptor.encrypt(packet.publicKey, sharedSecret)
|
||||
val encryptedVerifyToken = client.rsa1024Encryptor.encrypt(packet.publicKey, packet.verifyToken)
|
||||
client.networkChannel.sendPacket(ServerboundKeyPacket(encryptedSecret, encryptedVerifyToken))
|
||||
client.session.enableEncryption(sharedSecret)
|
||||
client.networkChannel.session.enableEncryption(sharedSecret)
|
||||
}
|
||||
|
||||
// configuration
|
||||
@@ -83,6 +88,7 @@ public class InternalPacketDispatcher(
|
||||
client.networkChannel.sendPacket(ServerboundConfigurationAcknowledgedPacket)
|
||||
client.stateMachine.transitionTo(ProtocolState.CONFIGURATION)
|
||||
}
|
||||
|
||||
else -> {}
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -7,19 +7,19 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.event
|
||||
|
||||
import cn.rtast.libmc.common.packet.PacketEvent
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import kotlin.reflect.KClass
|
||||
|
||||
public open class PacketEventDispatcher {
|
||||
@PublishedApi
|
||||
internal val eventHandlers: MutableMap<KClass<out PacketEvent>, MutableList<suspend (PacketEvent) -> Unit>> =
|
||||
internal val eventHandlers: MutableMap<KClass<out MinecraftPacket>, MutableList<suspend (MinecraftPacket) -> Unit>> =
|
||||
mutableMapOf()
|
||||
|
||||
internal suspend fun dispatch(event: PacketEvent) {
|
||||
internal suspend fun dispatch(event: MinecraftPacket) {
|
||||
eventHandlers[event::class]?.forEach { it.invoke(event) }
|
||||
}
|
||||
|
||||
public inline fun <reified T : PacketEvent> on(crossinline block: suspend (T) -> Unit) {
|
||||
public inline fun <reified T : MinecraftPacket> on(crossinline block: suspend (T) -> Unit) {
|
||||
val handlers = eventHandlers.getOrPut(T::class) { mutableListOf() }
|
||||
handlers.add { event -> block(event as T) }
|
||||
}
|
||||
|
||||
+6
-5
@@ -7,13 +7,13 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.network
|
||||
|
||||
import cn.rtast.libmc.common.stream.ReadChannel
|
||||
import cn.rtast.libmc.common.stream.WriteChannel
|
||||
import cn.rtast.libmc.common.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.stream.ReadChannel
|
||||
import cn.rtast.libmc.stream.WriteChannel
|
||||
|
||||
internal class CipherReadChannel(
|
||||
private val delegate: ReadChannel,
|
||||
private val crypto: NetworkCipher
|
||||
private val crypto: NetworkCipher,
|
||||
) : ReadChannel() {
|
||||
override suspend fun readFully(out: ByteArray, start: Int, end: Int) {
|
||||
delegate.readFully(out, start, end)
|
||||
@@ -36,7 +36,7 @@ internal class CipherReadChannel(
|
||||
|
||||
internal class CipherWriteChannel(
|
||||
private val delegate: WriteChannel,
|
||||
private val crypto: NetworkCipher
|
||||
private val crypto: NetworkCipher,
|
||||
) : WriteChannel() {
|
||||
override suspend fun writeFully(value: ByteArray, startIndex: Int, endIndex: Int) {
|
||||
val length = endIndex - startIndex
|
||||
@@ -45,6 +45,7 @@ internal class CipherWriteChannel(
|
||||
crypto.encrypt(encrypted, 0, length)
|
||||
delegate.writeFully(encrypted, 0, length)
|
||||
}
|
||||
|
||||
override suspend fun flush() {
|
||||
delegate.flush()
|
||||
}
|
||||
|
||||
+17
-22
@@ -6,39 +6,36 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.network
|
||||
|
||||
import cn.rtast.libmc.common.*
|
||||
import cn.rtast.libmc.common.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.writeBuffer
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.stream.wrap
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.writeBuffer
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.protocol.client.ClientStateMachine
|
||||
import cn.rtast.libmc.protocol.protocol.GameProtocols
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.stream.wrap
|
||||
import cn.rtast.libmc.zlibCompress
|
||||
import cn.rtast.libmc.zlibDecompress
|
||||
import kotlin.concurrent.Volatile
|
||||
|
||||
internal class NetworkChannel(
|
||||
public class NetworkChannel internal constructor(
|
||||
host: String,
|
||||
port: Int,
|
||||
context: LibMCContext,
|
||||
private val stateMachine: ClientStateMachine,
|
||||
cipherProvider: (ByteArray) -> NetworkCipher,
|
||||
) {
|
||||
val session: NetworkSession = NetworkSession(host, port, context, cipherProvider)
|
||||
internal val session: NetworkSession = NetworkSession(host, port, context, cipherProvider)
|
||||
|
||||
@Volatile
|
||||
private var threshold = -1
|
||||
|
||||
fun connect() {
|
||||
session.connect()
|
||||
}
|
||||
public fun connect(): Unit = session.connect()
|
||||
public fun setCompression(threshold: Int): Unit = run { this.threshold = threshold }
|
||||
|
||||
fun setCompression(threshold: Int) {
|
||||
this.threshold = threshold
|
||||
}
|
||||
|
||||
suspend fun readNextPacket(): MinecraftPacket {
|
||||
public suspend fun readNextPacket(): MinecraftPacket {
|
||||
val packetLength = session.readVarInt()
|
||||
val rawFrameBytes = session.readBytes(packetLength)
|
||||
val frameBuf = rawFrameBytes.wrap()
|
||||
@@ -54,7 +51,7 @@ internal class NetworkChannel(
|
||||
.decodePacket(packetId, payloadBuf)
|
||||
}
|
||||
|
||||
suspend fun sendPacket(packet: MinecraftPacket) {
|
||||
public suspend fun sendPacket(packet: MinecraftPacket) {
|
||||
val uncompressedBodyBuf = BytesBuffer()
|
||||
GameProtocols.serverboundGameProtocols
|
||||
.getRegistry(stateMachine.currentState)
|
||||
@@ -80,7 +77,5 @@ internal class NetworkChannel(
|
||||
session.writeFully(frameBuffer.toByteArray())
|
||||
}
|
||||
|
||||
fun close() {
|
||||
session.close()
|
||||
}
|
||||
public fun close(): Unit = session.close()
|
||||
}
|
||||
+15
-15
@@ -6,13 +6,13 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.network
|
||||
|
||||
import cn.rtast.libmc.common.LibMCContext
|
||||
import cn.rtast.libmc.common.stream.ReadChannel
|
||||
import cn.rtast.libmc.common.stream.Socket
|
||||
import cn.rtast.libmc.common.stream.WriteChannel
|
||||
import cn.rtast.libmc.common.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.LibMCContext
|
||||
import cn.rtast.libmc.crypto.NetworkCipher
|
||||
import cn.rtast.libmc.stream.ReadChannel
|
||||
import cn.rtast.libmc.stream.Socket
|
||||
import cn.rtast.libmc.stream.WriteChannel
|
||||
|
||||
internal class NetworkSession(
|
||||
public class NetworkSession internal constructor(
|
||||
private val host: String,
|
||||
private val port: Int,
|
||||
private val context: LibMCContext,
|
||||
@@ -20,20 +20,20 @@ internal class NetworkSession(
|
||||
) {
|
||||
private var socket: Socket? = null
|
||||
|
||||
var readChannel: ReadChannel? = null
|
||||
public var readChannel: ReadChannel? = null
|
||||
private set
|
||||
|
||||
var writeChannel: WriteChannel? = null
|
||||
public var writeChannel: WriteChannel? = null
|
||||
private set
|
||||
|
||||
fun connect() {
|
||||
public fun connect() {
|
||||
val sk = Socket(host, port, context)
|
||||
this.socket = sk
|
||||
this.readChannel = sk.openReadChannel()
|
||||
this.writeChannel = sk.openWriteChannel()
|
||||
}
|
||||
|
||||
fun enableEncryption(sharedKey: ByteArray) {
|
||||
public fun enableEncryption(sharedKey: ByteArray) {
|
||||
val currentRead = requireNotNull(readChannel) { "ReadChannel not connected" }
|
||||
val currentWrite = requireNotNull(writeChannel) { "WriteChannel not connected" }
|
||||
val cipher = cipherProvider(sharedKey)
|
||||
@@ -41,17 +41,17 @@ internal class NetworkSession(
|
||||
this.writeChannel = CipherWriteChannel(currentWrite, cipher)
|
||||
}
|
||||
|
||||
suspend fun readByte(): Byte {
|
||||
internal suspend fun readByte(): Byte {
|
||||
val channel = requireNotNull(readChannel) { "ReadChannel not connected" }
|
||||
return channel.readByte()
|
||||
}
|
||||
|
||||
suspend fun readBytes(length: Int): ByteArray {
|
||||
internal suspend fun readBytes(length: Int): ByteArray {
|
||||
val channel = requireNotNull(readChannel) { "ReadChannel not connected" }
|
||||
return channel.readBytes(length)
|
||||
}
|
||||
|
||||
suspend fun readVarInt(): Int {
|
||||
internal suspend fun readVarInt(): Int {
|
||||
var numRead = 0
|
||||
var result = 0
|
||||
var read: Byte
|
||||
@@ -65,13 +65,13 @@ internal class NetworkSession(
|
||||
return result
|
||||
}
|
||||
|
||||
suspend fun writeFully(data: ByteArray) {
|
||||
internal suspend fun writeFully(data: ByteArray) {
|
||||
val channel = requireNotNull(writeChannel) { "WriteChannel not connected" }
|
||||
channel.writeFully(data, 0, data.size)
|
||||
channel.flush()
|
||||
}
|
||||
|
||||
fun close() {
|
||||
internal fun close() {
|
||||
socket?.close()
|
||||
}
|
||||
}
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.common.primitives.writeMcString
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
import cn.rtast.libmc.primitives.writeMcString
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
|
||||
public data class KnownPacks(val namespace: String, val id: String, val version: String) {
|
||||
internal companion object Codec : PacketCodec<KnownPacks> {
|
||||
|
||||
+6
-6
@@ -7,12 +7,12 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.common.primitives.readUuid
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
import cn.rtast.libmc.primitives.readUuid
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.nbt.NBTCompound
|
||||
import cn.rtast.libmc.protocol.protocol.util.readNetworkNBTCompound
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data object ClientboundClearDialogPacket : MinecraftPacket,
|
||||
PacketCodec<ClientboundClearDialogPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
|
||||
public data class ClientboundCodeOfConductPacket(val codeOfConduct: String) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ClientboundCodeOfConductPacket> {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.nbt.NBTCompound
|
||||
import cn.rtast.libmc.protocol.protocol.util.readNetworkNBTCompound
|
||||
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
|
||||
|
||||
+6
-6
@@ -7,12 +7,12 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.common.primitives.writeMcString
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.primitives.writeMcString
|
||||
|
||||
public data class ClientboundCustomReportDetailsPacket(val details: List<ReportDetail>) : MinecraftPacket {
|
||||
public data class ReportDetail(val title: String, val description: String) {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.nbt.NBTCompound
|
||||
import cn.rtast.libmc.protocol.protocol.util.readNetworkNBTCompound
|
||||
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data object ClientboundFinishConfigurationPacket : MinecraftPacket,
|
||||
PacketCodec<ClientboundFinishConfigurationPacket> {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data class ClientboundKeepAliveConfigurationPacket(val id: Long) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ClientboundKeepAliveConfigurationPacket> {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data class ClientboundPingConfigurationPacket(val id: Int) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ClientboundPingConfigurationPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.registry.RegistryEntry
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readUuid
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readUuid
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
public data class ClientboundRemoveResourcePackPacket(val uuid: Uuid) : MinecraftPacket {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data object ClientboundResetChatPacket : MinecraftPacket,
|
||||
PacketCodec<ClientboundResetChatPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.packet.configuration.KnownPacks
|
||||
|
||||
public data class ClientboundSelectKnownPacksPacket(val knownPacks: List<KnownPacks>) : MinecraftPacket {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.registry.report.ServerLink
|
||||
|
||||
public data class ClientboundServerLinksPacket(val links: List<ServerLink>) : MinecraftPacket {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readPrefixedByteArray
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readPrefixedByteArray
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
|
||||
public data class ClientboundTransferPacket(val host: String, val port: Int) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ClientboundTransferPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.writeIdentifier
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
|
||||
public data object ServerboundAcceptCodeOfConductPacket : MinecraftPacket,
|
||||
PacketCodec<ServerboundAcceptCodeOfConductPacket> {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
|
||||
public data object ServerboundAckFinishConfigurationPacket : MinecraftPacket,
|
||||
PacketCodec<ServerboundAckFinishConfigurationPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.writeIdentifier
|
||||
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
|
||||
public data class ServerboundKeepAliveConfigurationPacket(val id: Long) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ServerboundKeepAliveConfigurationPacket> {
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
|
||||
public data class ServerboundPongConfigurationPacket(val id: Int) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ServerboundPongConfigurationPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.configuration.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.protocol.packet.configuration.KnownPacks
|
||||
|
||||
public data class ServerboundSelectKnownPacksPacket(val knownPacks: List<KnownPacks>) : MinecraftPacket {
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.handshake
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.primitives.writeMcString
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.primitives.writeMcString
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.state.HandshakeIntent
|
||||
|
||||
public data class ServerboundHandshakePacket(
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.Identifier
|
||||
import cn.rtast.libmc.protocol.protocol.game.readIdentifier
|
||||
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.nbt.NBTCompound
|
||||
import cn.rtast.libmc.protocol.protocol.util.readNetworkNBTCompound
|
||||
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readMcString
|
||||
import cn.rtast.libmc.common.primitives.readPrefixedByteArray
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readMcString
|
||||
import cn.rtast.libmc.primitives.readPrefixedByteArray
|
||||
|
||||
/**
|
||||
* ref: https://minecraft.wiki/w/Java_Edition_protocol/Packets#Encryption_Request
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readUuid
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readUuid
|
||||
import cn.rtast.libmc.protocol.session.GameProfile
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
|
||||
public data class ClientboundSetCompressionPacket(val threshold: Int) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ClientboundSetCompressionPacket> {
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.primitives.writeOptionalPrefixedByteArray
|
||||
import cn.rtast.libmc.common.primitives.writeVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.primitives.writeOptionalPrefixedByteArray
|
||||
import cn.rtast.libmc.primitives.writeVarInt
|
||||
|
||||
public data class ServerboundCustomQueryAnswerPacket(val messageId: Int, val data: ByteArray?) : MinecraftPacket {
|
||||
internal companion object Codec : PacketCodec<ServerboundCustomQueryAnswerPacket> {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.primitives.writePrefixedByteArray
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.primitives.writePrefixedByteArray
|
||||
|
||||
/**
|
||||
* ref: https://minecraft.wiki/w/Java_Edition_protocol/Encryption
|
||||
|
||||
+3
-3
@@ -7,9 +7,9 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
|
||||
public data object ServerboundLoginAcknowledgedPacket : MinecraftPacket,
|
||||
PacketCodec<ServerboundLoginAcknowledgedPacket> {
|
||||
|
||||
+5
-5
@@ -7,11 +7,11 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.login.serverbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.writeMcString
|
||||
import cn.rtast.libmc.common.primitives.writeUuid
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.writeMcString
|
||||
import cn.rtast.libmc.primitives.writeUuid
|
||||
import kotlin.uuid.Uuid
|
||||
|
||||
public data class ServerboundLoginStartPacket(val username: String, val playerUuid: Uuid) : MinecraftPacket {
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.play.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
|
||||
/**
|
||||
* ref: https://minecraft.wiki/w/Java_Edition_protocol/Packets#Acknowledge_Block_Change
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.play.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.StatisticsEntry
|
||||
|
||||
/**
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.play.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.BlockDestroyStage
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.BlockPos
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.readBlockPos
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.play.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.nbt.NBTCompound
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.BlockPos
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.readBlockPos
|
||||
|
||||
+4
-4
@@ -7,10 +7,10 @@
|
||||
|
||||
package cn.rtast.libmc.protocol.packet.play.clientbound
|
||||
|
||||
import cn.rtast.libmc.common.stream.BytesBuffer
|
||||
import cn.rtast.libmc.common.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.common.packet.PacketCodec
|
||||
import cn.rtast.libmc.common.primitives.readVarInt
|
||||
import cn.rtast.libmc.stream.BytesBuffer
|
||||
import cn.rtast.libmc.packet.MinecraftPacket
|
||||
import cn.rtast.libmc.packet.PacketCodec
|
||||
import cn.rtast.libmc.primitives.readVarInt
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.BlockPos
|
||||
import cn.rtast.libmc.protocol.protocol.game.block.readBlockPos
|
||||
|
||||
|
||||
Loaded 100 of 290 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in New Issue
Block a user