32 lines
1.2 KiB
Java
32 lines
1.2 KiB
Java
package net.minecraft.network.protocol.status;
|
|
|
|
import com.google.gson.JsonElement;
|
|
import com.mojang.serialization.JsonOps;
|
|
import io.netty.buffer.ByteBuf;
|
|
import net.minecraft.core.RegistryAccess;
|
|
import net.minecraft.network.codec.ByteBufCodecs;
|
|
import net.minecraft.network.codec.StreamCodec;
|
|
import net.minecraft.network.protocol.Packet;
|
|
import net.minecraft.network.protocol.PacketType;
|
|
import net.minecraft.resources.RegistryOps;
|
|
|
|
public record ClientboundStatusResponsePacket(ServerStatus status) implements Packet<ClientStatusPacketListener> {
|
|
private static final RegistryOps<JsonElement> OPS = RegistryAccess.EMPTY.createSerializationContext(JsonOps.INSTANCE);
|
|
public static final StreamCodec<ByteBuf, ClientboundStatusResponsePacket> STREAM_CODEC = StreamCodec.composite(
|
|
ByteBufCodecs.lenientJson(32767).apply(ByteBufCodecs.fromCodec(OPS, ServerStatus.CODEC)),
|
|
ClientboundStatusResponsePacket::status,
|
|
ClientboundStatusResponsePacket::new
|
|
);
|
|
|
|
@Override
|
|
public PacketType<ClientboundStatusResponsePacket> type() {
|
|
return StatusPacketTypes.CLIENTBOUND_STATUS_RESPONSE;
|
|
}
|
|
|
|
/**
|
|
* Passes this Packet on to the NetHandler for processing.
|
|
*/
|
|
public void handle(ClientStatusPacketListener handler) {
|
|
handler.handleStatusResponse(this);
|
|
}
|
|
}
|