ClientboundResourcePackPushPacket.java
net.minecraft.network.protocol.common.ClientboundResourcePackPushPacket
信息
- 全限定名:net.minecraft.network.protocol.common.ClientboundResourcePackPushPacket
- 类型:public record
- 包:net.minecraft.network.protocol.common
- 源码路径:src/main/java/net/minecraft/network/protocol/common/ClientboundResourcePackPushPacket.java
- 起始行号:L14
- 实现:Packet
- 职责:
TODO
字段/常量
-
MAX_HASH_LENGTH- 类型:
int - 修饰符:
public static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
STREAM_CODEC- 类型:
StreamCodec<ByteBuf,ClientboundResourcePackPushPacket> - 修饰符:
public static final - 源码定位:
L17 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ClientboundResourcePackPushPacket(UUID id, String url, String hash, boolean required, Optional<Component> prompt) @ L31
- 构造器名:ClientboundResourcePackPushPacket
- 源码定位:L31
- 修饰符:public
参数:
- id: UUID
- url: String
- hash: String
- required: boolean
- prompt: Optional
说明:
TODO
方法
下面的方法块按源码顺序生成。
public PacketType<ClientboundResourcePackPushPacket> type() @ L43
- 方法名:type
- 源码定位:L43
- 返回类型:PacketType
- 修饰符:public
参数:
- 无
说明:
TODO
public void handle(ClientCommonPacketListener listener) @ L48
- 方法名:handle
- 源码定位:L48
- 返回类型:void
- 修饰符:public
参数:
- listener: ClientCommonPacketListener
说明:
TODO
代码
public record ClientboundResourcePackPushPacket(UUID id, String url, String hash, boolean required, Optional<Component> prompt)
implements Packet<ClientCommonPacketListener> {
public static final int MAX_HASH_LENGTH = 40;
public static final StreamCodec<ByteBuf, ClientboundResourcePackPushPacket> STREAM_CODEC = StreamCodec.composite(
UUIDUtil.STREAM_CODEC,
ClientboundResourcePackPushPacket::id,
ByteBufCodecs.STRING_UTF8,
ClientboundResourcePackPushPacket::url,
ByteBufCodecs.stringUtf8(40),
ClientboundResourcePackPushPacket::hash,
ByteBufCodecs.BOOL,
ClientboundResourcePackPushPacket::required,
ComponentSerialization.TRUSTED_CONTEXT_FREE_STREAM_CODEC.apply(ByteBufCodecs::optional),
ClientboundResourcePackPushPacket::prompt,
ClientboundResourcePackPushPacket::new
);
public ClientboundResourcePackPushPacket(UUID id, String url, String hash, boolean required, Optional<Component> prompt) {
if (hash.length() > 40) {
throw new IllegalArgumentException("Hash is too long (max 40, was " + hash.length() + ")");
} else {
this.id = id;
this.url = url;
this.hash = hash;
this.required = required;
this.prompt = prompt;
}
}
@Override
public PacketType<ClientboundResourcePackPushPacket> type() {
return CommonPacketTypes.CLIENTBOUND_RESOURCE_PACK_PUSH;
}
public void handle(ClientCommonPacketListener listener) {
listener.handleResourcePackPush(this);
}
}引用的其他类
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
ByteBufCodecs.stringUtf8()
- 引用位置:
-
- 引用位置:
字段/方法调用 - 关联成员:
StreamCodec.composite()
- 引用位置:
-
- 引用位置:
实现
- 引用位置:
-
- 引用位置:
返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置: