minecraft-src/net/minecraft/network/protocol/common/custom/HiveDebugPayload.java
2025-07-04 01:41:11 +03:00

37 lines
1.3 KiB
Java

package net.minecraft.network.protocol.common.custom;
import net.minecraft.core.BlockPos;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
public record HiveDebugPayload(HiveDebugPayload.HiveInfo hiveInfo) implements CustomPacketPayload {
public static final StreamCodec<FriendlyByteBuf, HiveDebugPayload> STREAM_CODEC = CustomPacketPayload.codec(HiveDebugPayload::write, HiveDebugPayload::new);
public static final CustomPacketPayload.Type<HiveDebugPayload> TYPE = CustomPacketPayload.createType("debug/hive");
private HiveDebugPayload(FriendlyByteBuf buffer) {
this(new HiveDebugPayload.HiveInfo(buffer));
}
private void write(FriendlyByteBuf buffer) {
this.hiveInfo.write(buffer);
}
@Override
public CustomPacketPayload.Type<HiveDebugPayload> type() {
return TYPE;
}
public record HiveInfo(BlockPos pos, String hiveType, int occupantCount, int honeyLevel, boolean sedated) {
public HiveInfo(FriendlyByteBuf buffer) {
this(buffer.readBlockPos(), buffer.readUtf(), buffer.readInt(), buffer.readInt(), buffer.readBoolean());
}
public void write(FriendlyByteBuf buffer) {
buffer.writeBlockPos(this.pos);
buffer.writeUtf(this.hiveType);
buffer.writeInt(this.occupantCount);
buffer.writeInt(this.honeyLevel);
buffer.writeBoolean(this.sedated);
}
}
}