ClientboundBlockEventPacket.java

net.minecraft.network.protocol.game.ClientboundBlockEventPacket

信息

  • 全限定名:net.minecraft.network.protocol.game.ClientboundBlockEventPacket
  • 类型:public class
  • 包:net.minecraft.network.protocol.game
  • 源码路径:src/main/java/net/minecraft/network/protocol/game/ClientboundBlockEventPacket.java
  • 起始行号:L12
  • 实现:Packet
  • 职责:

    TODO

字段/常量

  • STREAM_CODEC

    • 类型: StreamCodec<RegistryFriendlyByteBuf,ClientboundBlockEventPacket>
    • 修饰符: public static final
    • 源码定位: L13
    • 说明:

      TODO

  • pos

    • 类型: BlockPos
    • 修饰符: private final
    • 源码定位: L16
    • 说明:

      TODO

  • b0

    • 类型: int
    • 修饰符: private final
    • 源码定位: L17
    • 说明:

      TODO

  • b1

    • 类型: int
    • 修饰符: private final
    • 源码定位: L18
    • 说明:

      TODO

  • block

    • 类型: Block
    • 修饰符: private final
    • 源码定位: L19
    • 说明:

      TODO

内部类/嵌套类型

构造器

public ClientboundBlockEventPacket(BlockPos pos, Block block, int b0, int b1) @ L21

  • 构造器名:ClientboundBlockEventPacket
  • 源码定位:L21
  • 修饰符:public

参数:

  • pos: BlockPos
  • block: Block
  • b0: int
  • b1: int

说明:

TODO

private ClientboundBlockEventPacket(RegistryFriendlyByteBuf input) @ L28

  • 构造器名:ClientboundBlockEventPacket
  • 源码定位:L28
  • 修饰符:private

参数:

  • input: RegistryFriendlyByteBuf

说明:

TODO

方法

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

private void write(RegistryFriendlyByteBuf output) @ L35

  • 方法名:write
  • 源码定位:L35
  • 返回类型:void
  • 修饰符:private

参数:

  • output: RegistryFriendlyByteBuf

说明:

TODO

public PacketType<ClientboundBlockEventPacket> type() @ L42

  • 方法名:type
  • 源码定位:L42
  • 返回类型:PacketType
  • 修饰符:public

参数:

说明:

TODO

public void handle(ClientGamePacketListener listener) @ L47

  • 方法名:handle
  • 源码定位:L47
  • 返回类型:void
  • 修饰符:public

参数:

  • listener: ClientGamePacketListener

说明:

TODO

public BlockPos getPos() @ L51

  • 方法名:getPos
  • 源码定位:L51
  • 返回类型:BlockPos
  • 修饰符:public

参数:

说明:

TODO

public int getB0() @ L55

  • 方法名:getB0
  • 源码定位:L55
  • 返回类型:int
  • 修饰符:public

参数:

说明:

TODO

public int getB1() @ L59

  • 方法名:getB1
  • 源码定位:L59
  • 返回类型:int
  • 修饰符:public

参数:

说明:

TODO

public Block getBlock() @ L63

  • 方法名:getBlock
  • 源码定位:L63
  • 返回类型:Block
  • 修饰符:public

参数:

说明:

TODO

代码

public class ClientboundBlockEventPacket implements Packet<ClientGamePacketListener> {
    public static final StreamCodec<RegistryFriendlyByteBuf, ClientboundBlockEventPacket> STREAM_CODEC = Packet.codec(
        ClientboundBlockEventPacket::write, ClientboundBlockEventPacket::new
    );
    private final BlockPos pos;
    private final int b0;
    private final int b1;
    private final Block block;
 
    public ClientboundBlockEventPacket(BlockPos pos, Block block, int b0, int b1) {
        this.pos = pos;
        this.block = block;
        this.b0 = b0;
        this.b1 = b1;
    }
 
    private ClientboundBlockEventPacket(RegistryFriendlyByteBuf input) {
        this.pos = input.readBlockPos();
        this.b0 = input.readUnsignedByte();
        this.b1 = input.readUnsignedByte();
        this.block = ByteBufCodecs.registry(Registries.BLOCK).decode(input);
    }
 
    private void write(RegistryFriendlyByteBuf output) {
        output.writeBlockPos(this.pos);
        output.writeByte(this.b0);
        output.writeByte(this.b1);
        ByteBufCodecs.registry(Registries.BLOCK).encode(output, this.block);
    }
 
    @Override
    public PacketType<ClientboundBlockEventPacket> type() {
        return GamePacketTypes.CLIENTBOUND_BLOCK_EVENT;
    }
 
    public void handle(ClientGamePacketListener listener) {
        listener.handleBlockEvent(this);
    }
 
    public BlockPos getPos() {
        return this.pos;
    }
 
    public int getB0() {
        return this.b0;
    }
 
    public int getB1() {
        return this.b1;
    }
 
    public Block getBlock() {
        return this.block;
    }
}

引用的其他类