60 lines
1.8 KiB
Java
60 lines
1.8 KiB
Java
package net.minecraft.network.protocol.game;
|
|
|
|
import net.minecraft.network.FriendlyByteBuf;
|
|
import net.minecraft.network.codec.StreamCodec;
|
|
import net.minecraft.network.protocol.Packet;
|
|
import net.minecraft.network.protocol.PacketType;
|
|
|
|
public class ClientboundSetExperiencePacket implements Packet<ClientGamePacketListener> {
|
|
public static final StreamCodec<FriendlyByteBuf, ClientboundSetExperiencePacket> STREAM_CODEC = Packet.codec(
|
|
ClientboundSetExperiencePacket::write, ClientboundSetExperiencePacket::new
|
|
);
|
|
private final float experienceProgress;
|
|
private final int totalExperience;
|
|
private final int experienceLevel;
|
|
|
|
public ClientboundSetExperiencePacket(float experienceProgress, int totalExperience, int experienceLevel) {
|
|
this.experienceProgress = experienceProgress;
|
|
this.totalExperience = totalExperience;
|
|
this.experienceLevel = experienceLevel;
|
|
}
|
|
|
|
private ClientboundSetExperiencePacket(FriendlyByteBuf buffer) {
|
|
this.experienceProgress = buffer.readFloat();
|
|
this.experienceLevel = buffer.readVarInt();
|
|
this.totalExperience = buffer.readVarInt();
|
|
}
|
|
|
|
/**
|
|
* Writes the raw packet data to the data stream.
|
|
*/
|
|
private void write(FriendlyByteBuf buffer) {
|
|
buffer.writeFloat(this.experienceProgress);
|
|
buffer.writeVarInt(this.experienceLevel);
|
|
buffer.writeVarInt(this.totalExperience);
|
|
}
|
|
|
|
@Override
|
|
public PacketType<ClientboundSetExperiencePacket> type() {
|
|
return GamePacketTypes.CLIENTBOUND_SET_EXPERIENCE;
|
|
}
|
|
|
|
/**
|
|
* Passes this Packet on to the NetHandler for processing.
|
|
*/
|
|
public void handle(ClientGamePacketListener handler) {
|
|
handler.handleSetExperience(this);
|
|
}
|
|
|
|
public float getExperienceProgress() {
|
|
return this.experienceProgress;
|
|
}
|
|
|
|
public int getTotalExperience() {
|
|
return this.totalExperience;
|
|
}
|
|
|
|
public int getExperienceLevel() {
|
|
return this.experienceLevel;
|
|
}
|
|
}
|