48 lines
1.6 KiB
Java
48 lines
1.6 KiB
Java
package net.minecraft.network.protocol.common.custom;
|
|
|
|
import java.util.UUID;
|
|
import net.minecraft.core.BlockPos;
|
|
import net.minecraft.network.FriendlyByteBuf;
|
|
import net.minecraft.network.codec.StreamCodec;
|
|
import net.minecraft.network.protocol.game.DebugEntityNameGenerator;
|
|
|
|
public record BreezeDebugPayload(BreezeDebugPayload.BreezeInfo breezeInfo) implements CustomPacketPayload {
|
|
public static final StreamCodec<FriendlyByteBuf, BreezeDebugPayload> STREAM_CODEC = CustomPacketPayload.codec(
|
|
BreezeDebugPayload::write, BreezeDebugPayload::new
|
|
);
|
|
public static final CustomPacketPayload.Type<BreezeDebugPayload> TYPE = CustomPacketPayload.createType("debug/breeze");
|
|
|
|
private BreezeDebugPayload(FriendlyByteBuf buffer) {
|
|
this(new BreezeDebugPayload.BreezeInfo(buffer));
|
|
}
|
|
|
|
private void write(FriendlyByteBuf buffer) {
|
|
this.breezeInfo.write(buffer);
|
|
}
|
|
|
|
@Override
|
|
public CustomPacketPayload.Type<BreezeDebugPayload> type() {
|
|
return TYPE;
|
|
}
|
|
|
|
public record BreezeInfo(UUID uuid, int id, Integer attackTarget, BlockPos jumpTarget) {
|
|
public BreezeInfo(FriendlyByteBuf buffer) {
|
|
this(buffer.readUUID(), buffer.readInt(), buffer.readNullable(FriendlyByteBuf::readInt), buffer.readNullable(BlockPos.STREAM_CODEC));
|
|
}
|
|
|
|
public void write(FriendlyByteBuf buffer) {
|
|
buffer.writeUUID(this.uuid);
|
|
buffer.writeInt(this.id);
|
|
buffer.writeNullable(this.attackTarget, FriendlyByteBuf::writeInt);
|
|
buffer.writeNullable(this.jumpTarget, BlockPos.STREAM_CODEC);
|
|
}
|
|
|
|
public String generateName() {
|
|
return DebugEntityNameGenerator.getEntityName(this.uuid);
|
|
}
|
|
|
|
public String toString() {
|
|
return this.generateName();
|
|
}
|
|
}
|
|
}
|