ClientboundSetEntityDataPacket.java
net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket
信息
- 全限定名:net.minecraft.network.protocol.game.ClientboundSetEntityDataPacket
- 类型:public record
- 包:net.minecraft.network.protocol.game
- 源码路径:src/main/java/net/minecraft/network/protocol/game/ClientboundSetEntityDataPacket.java
- 起始行号:L11
- 实现:Packet
- 职责:
TODO
字段/常量
-
STREAM_CODEC- 类型:
StreamCodec<RegistryFriendlyByteBuf,ClientboundSetEntityDataPacket> - 修饰符:
public static final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
EOF_MARKER- 类型:
int - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private ClientboundSetEntityDataPacket(RegistryFriendlyByteBuf input) @ L17
- 构造器名:ClientboundSetEntityDataPacket
- 源码定位:L17
- 修饰符:private
参数:
- input: RegistryFriendlyByteBuf
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static void pack(List<SynchedEntityData.DataValue<?>> items, RegistryFriendlyByteBuf output) @ L21
- 方法名:pack
- 源码定位:L21
- 返回类型:void
- 修饰符:private static
参数:
- items: List<SynchedEntityData.DataValue<?>>
- output: RegistryFriendlyByteBuf
说明:
TODO
private static List<SynchedEntityData.DataValue<?>> unpack(RegistryFriendlyByteBuf input) @ L29
- 方法名:unpack
- 源码定位:L29
- 返回类型:List<SynchedEntityData.DataValue<?>>
- 修饰符:private static
参数:
- input: RegistryFriendlyByteBuf
说明:
TODO
private void write(RegistryFriendlyByteBuf output) @ L40
- 方法名:write
- 源码定位:L40
- 返回类型:void
- 修饰符:private
参数:
- output: RegistryFriendlyByteBuf
说明:
TODO
public PacketType<ClientboundSetEntityDataPacket> type() @ L45
- 方法名:type
- 源码定位:L45
- 返回类型:PacketType
- 修饰符:public
参数:
- 无
说明:
TODO
public void handle(ClientGamePacketListener listener) @ L50
- 方法名:handle
- 源码定位:L50
- 返回类型:void
- 修饰符:public
参数:
- listener: ClientGamePacketListener
说明:
TODO
代码
public record ClientboundSetEntityDataPacket(int id, List<SynchedEntityData.DataValue<?>> packedItems) implements Packet<ClientGamePacketListener> {
public static final StreamCodec<RegistryFriendlyByteBuf, ClientboundSetEntityDataPacket> STREAM_CODEC = Packet.codec(
ClientboundSetEntityDataPacket::write, ClientboundSetEntityDataPacket::new
);
public static final int EOF_MARKER = 255;
private ClientboundSetEntityDataPacket(RegistryFriendlyByteBuf input) {
this(input.readVarInt(), unpack(input));
}
private static void pack(List<SynchedEntityData.DataValue<?>> items, RegistryFriendlyByteBuf output) {
for (SynchedEntityData.DataValue<?> item : items) {
item.write(output);
}
output.writeByte(255);
}
private static List<SynchedEntityData.DataValue<?>> unpack(RegistryFriendlyByteBuf input) {
List<SynchedEntityData.DataValue<?>> result = new ArrayList<>();
int id;
while ((id = input.readUnsignedByte()) != 255) {
result.add(SynchedEntityData.DataValue.read(input, id));
}
return result;
}
private void write(RegistryFriendlyByteBuf output) {
output.writeVarInt(this.id);
pack(this.packedItems, output);
}
@Override
public PacketType<ClientboundSetEntityDataPacket> type() {
return GamePacketTypes.CLIENTBOUND_SET_ENTITY_DATA;
}
public void handle(ClientGamePacketListener listener) {
listener.handleSetEntityData(this);
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
实现/方法调用 - 关联成员:
Packet.codec()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/方法调用/返回值 - 关联成员:
SynchedEntityData.DataValue.read()
- 引用位置: