minecraft-src/net/minecraft/server/level/ClientInformation.java
2025-07-04 02:00:41 +03:00

50 lines
1.5 KiB
Java

package net.minecraft.server.level;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.HumanoidArm;
import net.minecraft.world.entity.player.ChatVisiblity;
import net.minecraft.world.entity.player.Player;
public record ClientInformation(
String language,
int viewDistance,
ChatVisiblity chatVisibility,
boolean chatColors,
int modelCustomisation,
HumanoidArm mainHand,
boolean textFilteringEnabled,
boolean allowsListing,
ParticleStatus particleStatus
) {
public static final int MAX_LANGUAGE_LENGTH = 16;
public ClientInformation(FriendlyByteBuf buffer) {
this(
buffer.readUtf(16),
buffer.readByte(),
buffer.readEnum(ChatVisiblity.class),
buffer.readBoolean(),
buffer.readUnsignedByte(),
buffer.readEnum(HumanoidArm.class),
buffer.readBoolean(),
buffer.readBoolean(),
buffer.readEnum(ParticleStatus.class)
);
}
public void write(FriendlyByteBuf buffer) {
buffer.writeUtf(this.language);
buffer.writeByte(this.viewDistance);
buffer.writeEnum(this.chatVisibility);
buffer.writeBoolean(this.chatColors);
buffer.writeByte(this.modelCustomisation);
buffer.writeEnum(this.mainHand);
buffer.writeBoolean(this.textFilteringEnabled);
buffer.writeBoolean(this.allowsListing);
buffer.writeEnum(this.particleStatus);
}
public static ClientInformation createDefault() {
return new ClientInformation("en_us", 2, ChatVisiblity.FULL, true, 0, Player.DEFAULT_MAIN_HAND, false, false, ParticleStatus.ALL);
}
}