50 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			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);
 | |
| 	}
 | |
| }
 |