ProtocolCodecBuilder.java
net.minecraft.network.protocol.ProtocolCodecBuilder
信息
- 全限定名:net.minecraft.network.protocol.ProtocolCodecBuilder
- 类型:public class
- 包:net.minecraft.network.protocol
- 源码路径:src/main/java/net/minecraft/network/protocol/ProtocolCodecBuilder.java
- 起始行号:L8
- 职责:
TODO
字段/常量
-
dispatchBuilder- 类型:
IdDispatchCodec.Builder<B,Packet<?super L>,PacketType<?extends Packet<?super L>>> - 修饰符:
private final - 源码定位:
L9 - 说明:
TODO
- 类型:
-
flow- 类型:
PacketFlow - 修饰符:
private final - 源码定位:
L10 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public ProtocolCodecBuilder(PacketFlow flow) @ L12
- 构造器名:ProtocolCodecBuilder
- 源码定位:L12
- 修饰符:public
参数:
- flow: PacketFlow
说明:
TODO
方法
下面的方法块按源码顺序生成。
public <T extends Packet<?super L>> ProtocolCodecBuilder<B,L> add(PacketType<T> type, StreamCodec<?super B,T> serializer) @ L16
- 方法名:add
- 源码定位:L16
- 返回类型:<T extends Packet<?super L>> ProtocolCodecBuilder<B,L>
- 修饰符:public
参数:
- type: PacketType
- serializer: StreamCodec<?super B,T>
说明:
TODO
public StreamCodec<B,Packet<?super L>> build() @ L25
- 方法名:build
- 源码定位:L25
- 返回类型:StreamCodec<B,Packet<?super L>>
- 修饰符:public
参数:
- 无
说明:
TODO
代码
public class ProtocolCodecBuilder<B extends ByteBuf, L extends PacketListener> {
private final IdDispatchCodec.Builder<B, Packet<? super L>, PacketType<? extends Packet<? super L>>> dispatchBuilder = IdDispatchCodec.builder(Packet::type);
private final PacketFlow flow;
public ProtocolCodecBuilder(PacketFlow flow) {
this.flow = flow;
}
public <T extends Packet<? super L>> ProtocolCodecBuilder<B, L> add(PacketType<T> type, StreamCodec<? super B, T> serializer) {
if (type.flow() != this.flow) {
throw new IllegalArgumentException("Invalid packet flow for packet " + type + ", expected " + this.flow.name());
} else {
this.dispatchBuilder.add(type, serializer);
return this;
}
}
public StreamCodec<B, Packet<? super L>> build() {
return this.dispatchBuilder.build();
}
}引用的其他类
-
- 引用位置:
字段/方法调用 - 关联成员:
IdDispatchCodec.builder()
- 引用位置:
-
- 引用位置:
参数/返回值
- 引用位置:
-
- 引用位置:
字段/返回值
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: