ServerboundSeenAdvancementsPacket.java

net.minecraft.network.protocol.game.ServerboundSeenAdvancementsPacket

信息

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

    TODO

字段/常量

  • STREAM_CODEC

    • 类型: StreamCodec<FriendlyByteBuf,ServerboundSeenAdvancementsPacket>
    • 修饰符: public static final
    • 源码定位: L12
    • 说明:

      TODO

  • action

    • 类型: ServerboundSeenAdvancementsPacket.Action
    • 修饰符: private final
    • 源码定位: L15
    • 说明:

      TODO

  • tab

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

      TODO

内部类/嵌套类型

  • net.minecraft.network.protocol.game.ServerboundSeenAdvancementsPacket.Action
    • 类型: enum
    • 修饰符: public static
    • 源码定位: L64
    • 说明:

      TODO

构造器

public ServerboundSeenAdvancementsPacket(ServerboundSeenAdvancementsPacket.Action action, Identifier tab) @ L18

  • 构造器名:ServerboundSeenAdvancementsPacket
  • 源码定位:L18
  • 修饰符:public

参数:

  • action: ServerboundSeenAdvancementsPacket.Action
  • tab: Identifier

说明:

TODO

private ServerboundSeenAdvancementsPacket(FriendlyByteBuf input) @ L31

  • 构造器名:ServerboundSeenAdvancementsPacket
  • 源码定位:L31
  • 修饰符:private

参数:

  • input: FriendlyByteBuf

说明:

TODO

方法

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

public static ServerboundSeenAdvancementsPacket openedTab(AdvancementHolder tab) @ L23

  • 方法名:openedTab
  • 源码定位:L23
  • 返回类型:ServerboundSeenAdvancementsPacket
  • 修饰符:public static

参数:

  • tab: AdvancementHolder

说明:

TODO

public static ServerboundSeenAdvancementsPacket closedScreen() @ L27

  • 方法名:closedScreen
  • 源码定位:L27
  • 返回类型:ServerboundSeenAdvancementsPacket
  • 修饰符:public static

参数:

说明:

TODO

private void write(FriendlyByteBuf output) @ L40

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

参数:

  • output: FriendlyByteBuf

说明:

TODO

public PacketType<ServerboundSeenAdvancementsPacket> type() @ L47

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

参数:

说明:

TODO

public void handle(ServerGamePacketListener listener) @ L52

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

参数:

  • listener: ServerGamePacketListener

说明:

TODO

public ServerboundSeenAdvancementsPacket.Action getAction() @ L56

  • 方法名:getAction
  • 源码定位:L56
  • 返回类型:ServerboundSeenAdvancementsPacket.Action
  • 修饰符:public

参数:

说明:

TODO

public Identifier getTab() @ L60

  • 方法名:getTab
  • 源码定位:L60
  • 返回类型:Identifier
  • 修饰符:public

参数:

说明:

TODO

代码

public class ServerboundSeenAdvancementsPacket implements Packet<ServerGamePacketListener> {
    public static final StreamCodec<FriendlyByteBuf, ServerboundSeenAdvancementsPacket> STREAM_CODEC = Packet.codec(
        ServerboundSeenAdvancementsPacket::write, ServerboundSeenAdvancementsPacket::new
    );
    private final ServerboundSeenAdvancementsPacket.Action action;
    private final @Nullable Identifier tab;
 
    public ServerboundSeenAdvancementsPacket(ServerboundSeenAdvancementsPacket.Action action, @Nullable Identifier tab) {
        this.action = action;
        this.tab = tab;
    }
 
    public static ServerboundSeenAdvancementsPacket openedTab(AdvancementHolder tab) {
        return new ServerboundSeenAdvancementsPacket(ServerboundSeenAdvancementsPacket.Action.OPENED_TAB, tab.id());
    }
 
    public static ServerboundSeenAdvancementsPacket closedScreen() {
        return new ServerboundSeenAdvancementsPacket(ServerboundSeenAdvancementsPacket.Action.CLOSED_SCREEN, null);
    }
 
    private ServerboundSeenAdvancementsPacket(FriendlyByteBuf input) {
        this.action = input.readEnum(ServerboundSeenAdvancementsPacket.Action.class);
        if (this.action == ServerboundSeenAdvancementsPacket.Action.OPENED_TAB) {
            this.tab = input.readIdentifier();
        } else {
            this.tab = null;
        }
    }
 
    private void write(FriendlyByteBuf output) {
        output.writeEnum(this.action);
        if (this.action == ServerboundSeenAdvancementsPacket.Action.OPENED_TAB) {
            output.writeIdentifier(this.tab);
        }
    }
 
    @Override
    public PacketType<ServerboundSeenAdvancementsPacket> type() {
        return GamePacketTypes.SERVERBOUND_SEEN_ADVANCEMENTS;
    }
 
    public void handle(ServerGamePacketListener listener) {
        listener.handleSeenAdvancements(this);
    }
 
    public ServerboundSeenAdvancementsPacket.Action getAction() {
        return this.action;
    }
 
    public @Nullable Identifier getTab() {
        return this.tab;
    }
 
    public static enum Action {
        OPENED_TAB,
        CLOSED_SCREEN;
    }
}

引用的其他类