mirror of https://github.com/Minestom/Minestom.git
40 lines
1.4 KiB
Java
40 lines
1.4 KiB
Java
package net.minestom.server.network.packet.server.play;
|
|
|
|
import net.minestom.server.network.packet.server.ServerPacket;
|
|
import net.minestom.server.network.packet.server.ServerPacketIdentifier;
|
|
import net.minestom.server.utils.binary.BinaryReader;
|
|
import net.minestom.server.utils.binary.BinaryWriter;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
public record UpdateScorePacket(@NotNull String entityName, byte action,
|
|
@NotNull String objectiveName, int value) implements ServerPacket {
|
|
public UpdateScorePacket(BinaryReader reader) {
|
|
this(read(reader));
|
|
}
|
|
|
|
private UpdateScorePacket(UpdateScorePacket packet) {
|
|
this(packet.entityName, packet.action, packet.objectiveName, packet.value);
|
|
}
|
|
|
|
private static UpdateScorePacket read(BinaryReader reader) {
|
|
var entityName = reader.readSizedString();
|
|
var action = reader.readByte();
|
|
var objectiveName = reader.readSizedString();
|
|
var value = action != 1 ? reader.readVarInt() : 0;
|
|
return new UpdateScorePacket(entityName, action, objectiveName, value);
|
|
}
|
|
|
|
@Override
|
|
public void write(@NotNull BinaryWriter writer) {
|
|
writer.writeSizedString(entityName);
|
|
writer.writeByte(action);
|
|
writer.writeSizedString(objectiveName);
|
|
if (action != 1) writer.writeVarInt(value);
|
|
}
|
|
|
|
@Override
|
|
public int getId() {
|
|
return ServerPacketIdentifier.UPDATE_SCORE;
|
|
}
|
|
}
|