MixinNetHandlerPlayClient

基本信息

属性 值
Mixin 目标 net.minecraft.client.network.NetHandlerPlayClient
Phase EARLY
角色 客户端解码多方块变化包(S22PacketMultiBlockChange)用 short 读方块 ID + Metadata
依赖 llamalad7 mixinextras @Local

注入点

注入 目标 改写
@Redirect handleMultiBlockChange 中 Block.getBlockById(int) 改用 short short2(第二个 DataInputStream 读取的方块 ID)作为 ID:Block.getBlockById(short2)
@ModifyArg index = 4 handleMultiBlockChange 中 WorldClient.func_147492_c(..., int meta) 改用 datainputstream.readShort() & METADATA_MASK

数据格式(与服务端 S22 一致)

字段 vanilla NEID
方块 ID int(4 字节) short(2 字节)
Metadata byte(1 字节) short(2 字节)

NEID 方块 ID 上限 32767(short 最高位保留给符号),Metadata 上限 65535。

相关条目