package net.minecraft.network.protocol.configuration; import java.util.HashSet; import java.util.Set; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.PacketType; import net.minecraft.resources.ResourceLocation; public record ClientboundUpdateEnabledFeaturesPacket(Set features) implements Packet { public static final StreamCodec STREAM_CODEC = Packet.codec( ClientboundUpdateEnabledFeaturesPacket::write, ClientboundUpdateEnabledFeaturesPacket::new ); private ClientboundUpdateEnabledFeaturesPacket(FriendlyByteBuf buffer) { this(buffer.readCollection(HashSet::new, FriendlyByteBuf::readResourceLocation)); } private void write(FriendlyByteBuf buffer) { buffer.writeCollection(this.features, FriendlyByteBuf::writeResourceLocation); } @Override public PacketType type() { return ConfigurationPacketTypes.CLIENTBOUND_UPDATE_ENABLED_FEATURES; } public void handle(ClientConfigurationPacketListener clientConfigurationPacketListener) { clientConfigurationPacketListener.handleEnabledFeatures(this); } }