package io.gitlab.jfronny.libjf.config.impl.network.packet; import io.gitlab.jfronny.libjf.config.impl.network.RequestRouter; import net.fabricmc.fabric.api.networking.v1.PacketByteBufs; import net.minecraft.network.PacketByteBuf; import net.minecraft.network.codec.PacketCodec; import net.minecraft.network.packet.CustomPayload; public record ResponsePacket(long request, int status, PacketByteBuf aux) implements CustomPayload { public static final CustomPayload.Id ID = CustomPayload.id(RequestRouter.MOD_ID + ":response"); public static final PacketCodec CODEC = PacketCodec.of( (value, buf) -> { buf.writeLong(value.request()); buf.writeInt(value.status()); buf.writeBytes(value.aux()); }, buf -> { long request = buf.readLong(); int status = buf.readInt(); return new ResponsePacket(request, status, PacketByteBufs.copy(buf)); } ); @Override public Id getId() { return ID; } }