PacketBundleUnpacker.java

net.minecraft.network.PacketBundleUnpacker

信息

  • 全限定名:net.minecraft.network.PacketBundleUnpacker
  • 类型:public class
  • 包:net.minecraft.network
  • 源码路径:src/main/java/net/minecraft/network/PacketBundleUnpacker.java
  • 起始行号:L9
  • 继承:MessageToMessageEncoder<Packet<?>>
  • 职责:

    TODO

字段/常量

  • bundlerInfo
    • 类型: BundlerInfo
    • 修饰符: private final
    • 源码定位: L10
    • 说明:

      TODO

内部类/嵌套类型

构造器

public PacketBundleUnpacker(BundlerInfo bundlerInfo) @ L12

  • 构造器名:PacketBundleUnpacker
  • 源码定位:L12
  • 修饰符:public

参数:

  • bundlerInfo: BundlerInfo

说明:

TODO

方法

下面的方法块按源码顺序生成。

protected void encode(ChannelHandlerContext ctx, Packet<?> msg, List<Object> out) @ L16

  • 方法名:encode
  • 源码定位:L16
  • 返回类型:void
  • 修饰符:protected

参数:

  • ctx: ChannelHandlerContext
  • msg: Packet<?>
  • out: List

    说明:

    TODO

    代码

    public class PacketBundleUnpacker extends MessageToMessageEncoder<Packet<?>> {
        private final BundlerInfo bundlerInfo;
     
        public PacketBundleUnpacker(BundlerInfo bundlerInfo) {
            this.bundlerInfo = bundlerInfo;
        }
     
        protected void encode(ChannelHandlerContext ctx, Packet<?> msg, List<Object> out) throws Exception {
            this.bundlerInfo.unbundlePacket(msg, out::add);
            if (msg.isTerminal()) {
                ctx.pipeline().remove(ctx.name());
            }
        }
    }

    引用的其他类