ClientboundMerchantOffersPacket.java

net.minecraft.network.protocol.game.ClientboundMerchantOffersPacket

信息

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

    TODO

字段/常量

  • STREAM_CODEC

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

      TODO

  • containerId

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

      TODO

  • offers

    • 类型: MerchantOffers
    • 修饰符: private final
    • 源码定位: L14
    • 说明:

      TODO

  • villagerLevel

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

      TODO

  • villagerXp

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

      TODO

  • showProgress

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

      TODO

  • canRestock

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

      TODO

内部类/嵌套类型

构造器

public ClientboundMerchantOffersPacket(int containerId, MerchantOffers offers, int merchantLevel, int merchantXp, boolean showProgress, boolean canRestock) @ L20

  • 构造器名:ClientboundMerchantOffersPacket
  • 源码定位:L20
  • 修饰符:public

参数:

  • containerId: int
  • offers: MerchantOffers
  • merchantLevel: int
  • merchantXp: int
  • showProgress: boolean
  • canRestock: boolean

说明:

TODO

private ClientboundMerchantOffersPacket(RegistryFriendlyByteBuf input) @ L29

  • 构造器名:ClientboundMerchantOffersPacket
  • 源码定位:L29
  • 修饰符:private

参数:

  • input: RegistryFriendlyByteBuf

说明:

TODO

方法

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

private void write(RegistryFriendlyByteBuf output) @ L38

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

参数:

  • output: RegistryFriendlyByteBuf

说明:

TODO

public PacketType<ClientboundMerchantOffersPacket> type() @ L47

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

参数:

说明:

TODO

public void handle(ClientGamePacketListener listener) @ L52

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

参数:

  • listener: ClientGamePacketListener

说明:

TODO

public int getContainerId() @ L56

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

参数:

说明:

TODO

public MerchantOffers getOffers() @ L60

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

参数:

说明:

TODO

public int getVillagerLevel() @ L64

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

参数:

说明:

TODO

public int getVillagerXp() @ L68

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

参数:

说明:

TODO

public boolean showProgress() @ L72

  • 方法名:showProgress
  • 源码定位:L72
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public boolean canRestock() @ L76

  • 方法名:canRestock
  • 源码定位:L76
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

代码

public class ClientboundMerchantOffersPacket implements Packet<ClientGamePacketListener> {
    public static final StreamCodec<RegistryFriendlyByteBuf, ClientboundMerchantOffersPacket> STREAM_CODEC = Packet.codec(
        ClientboundMerchantOffersPacket::write, ClientboundMerchantOffersPacket::new
    );
    private final int containerId;
    private final MerchantOffers offers;
    private final int villagerLevel;
    private final int villagerXp;
    private final boolean showProgress;
    private final boolean canRestock;
 
    public ClientboundMerchantOffersPacket(int containerId, MerchantOffers offers, int merchantLevel, int merchantXp, boolean showProgress, boolean canRestock) {
        this.containerId = containerId;
        this.offers = offers.copy();
        this.villagerLevel = merchantLevel;
        this.villagerXp = merchantXp;
        this.showProgress = showProgress;
        this.canRestock = canRestock;
    }
 
    private ClientboundMerchantOffersPacket(RegistryFriendlyByteBuf input) {
        this.containerId = input.readContainerId();
        this.offers = MerchantOffers.STREAM_CODEC.decode(input);
        this.villagerLevel = input.readVarInt();
        this.villagerXp = input.readVarInt();
        this.showProgress = input.readBoolean();
        this.canRestock = input.readBoolean();
    }
 
    private void write(RegistryFriendlyByteBuf output) {
        output.writeContainerId(this.containerId);
        MerchantOffers.STREAM_CODEC.encode(output, this.offers);
        output.writeVarInt(this.villagerLevel);
        output.writeVarInt(this.villagerXp);
        output.writeBoolean(this.showProgress);
        output.writeBoolean(this.canRestock);
    }
 
    @Override
    public PacketType<ClientboundMerchantOffersPacket> type() {
        return GamePacketTypes.CLIENTBOUND_MERCHANT_OFFERS;
    }
 
    public void handle(ClientGamePacketListener listener) {
        listener.handleMerchantOffers(this);
    }
 
    public int getContainerId() {
        return this.containerId;
    }
 
    public MerchantOffers getOffers() {
        return this.offers;
    }
 
    public int getVillagerLevel() {
        return this.villagerLevel;
    }
 
    public int getVillagerXp() {
        return this.villagerXp;
    }
 
    public boolean showProgress() {
        return this.showProgress;
    }
 
    public boolean canRestock() {
        return this.canRestock;
    }
}

引用的其他类