ClientboundCustomQueryPacket.java
net.minecraft.network.protocol.login.ClientboundCustomQueryPacket
信息
- 全限定名:net.minecraft.network.protocol.login.ClientboundCustomQueryPacket
- 类型:public record
- 包:net.minecraft.network.protocol.login
- 源码路径:src/main/java/net/minecraft/network/protocol/login/ClientboundCustomQueryPacket.java
- 起始行号:L11
- 实现:Packet
- 职责:
TODO
字段/常量
-
STREAM_CODEC- 类型:
StreamCodec<FriendlyByteBuf,ClientboundCustomQueryPacket> - 修饰符:
public static final - 源码定位:
L12 - 说明:
TODO
- 类型:
-
MAX_PAYLOAD_SIZE- 类型:
int - 修饰符:
private static final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private ClientboundCustomQueryPacket(FriendlyByteBuf input) @ L17
- 构造器名:ClientboundCustomQueryPacket
- 源码定位:L17
- 修饰符:private
参数:
- input: FriendlyByteBuf
说明:
TODO
方法
下面的方法块按源码顺序生成。
private static CustomQueryPayload readPayload(Identifier identifier, FriendlyByteBuf input) @ L21
- 方法名:readPayload
- 源码定位:L21
- 返回类型:CustomQueryPayload
- 修饰符:private static
参数:
- identifier: Identifier
- input: FriendlyByteBuf
说明:
TODO
private static DiscardedQueryPayload readUnknownPayload(Identifier identifier, FriendlyByteBuf input) @ L25
- 方法名:readUnknownPayload
- 源码定位:L25
- 返回类型:DiscardedQueryPayload
- 修饰符:private static
参数:
- identifier: Identifier
- input: FriendlyByteBuf
说明:
TODO
private void write(FriendlyByteBuf output) @ L35
- 方法名:write
- 源码定位:L35
- 返回类型:void
- 修饰符:private
参数:
- output: FriendlyByteBuf
说明:
TODO
public PacketType<ClientboundCustomQueryPacket> type() @ L41
- 方法名:type
- 源码定位:L41
- 返回类型:PacketType
- 修饰符:public
参数:
- 无
说明:
TODO
public void handle(ClientLoginPacketListener listener) @ L46
- 方法名:handle
- 源码定位:L46
- 返回类型:void
- 修饰符:public
参数:
- listener: ClientLoginPacketListener
说明:
TODO
代码
public record ClientboundCustomQueryPacket(int transactionId, CustomQueryPayload payload) implements Packet<ClientLoginPacketListener> {
public static final StreamCodec<FriendlyByteBuf, ClientboundCustomQueryPacket> STREAM_CODEC = Packet.codec(
ClientboundCustomQueryPacket::write, ClientboundCustomQueryPacket::new
);
private static final int MAX_PAYLOAD_SIZE = 1048576;
private ClientboundCustomQueryPacket(FriendlyByteBuf input) {
this(input.readVarInt(), readPayload(input.readIdentifier(), input));
}
private static CustomQueryPayload readPayload(Identifier identifier, FriendlyByteBuf input) {
return readUnknownPayload(identifier, input);
}
private static DiscardedQueryPayload readUnknownPayload(Identifier identifier, FriendlyByteBuf input) {
int length = input.readableBytes();
if (length >= 0 && length <= 1048576) {
input.skipBytes(length);
return new DiscardedQueryPayload(identifier);
} else {
throw new IllegalArgumentException("Payload may not be larger than 1048576 bytes");
}
}
private void write(FriendlyByteBuf output) {
output.writeVarInt(this.transactionId);
output.writeIdentifier(this.payload.id());
this.payload.write(output);
}
@Override
public PacketType<ClientboundCustomQueryPacket> type() {
return LoginPacketTypes.CLIENTBOUND_CUSTOM_QUERY;
}
public void handle(ClientLoginPacketListener listener) {
listener.handleCustomQuery(this);
}
}引用的其他类
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
字段
- 引用位置:
-
- 引用位置:
实现/方法调用 - 关联成员:
Packet.codec()
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
构造调用/返回值 - 关联成员:
DiscardedQueryPayload()
- 引用位置:
-
- 引用位置:
参数
- 引用位置: