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