54 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
	
		
			1.7 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.network.protocol.game;
 | |
| 
 | |
| import java.util.Optional;
 | |
| import net.minecraft.core.GlobalPos;
 | |
| import net.minecraft.core.Holder;
 | |
| import net.minecraft.core.registries.Registries;
 | |
| import net.minecraft.network.FriendlyByteBuf;
 | |
| import net.minecraft.network.RegistryFriendlyByteBuf;
 | |
| import net.minecraft.resources.ResourceKey;
 | |
| import net.minecraft.world.level.GameType;
 | |
| import net.minecraft.world.level.Level;
 | |
| import net.minecraft.world.level.dimension.DimensionType;
 | |
| import org.jetbrains.annotations.Nullable;
 | |
| 
 | |
| public record CommonPlayerSpawnInfo(
 | |
| 	Holder<DimensionType> dimensionType,
 | |
| 	ResourceKey<Level> dimension,
 | |
| 	long seed,
 | |
| 	GameType gameType,
 | |
| 	@Nullable GameType previousGameType,
 | |
| 	boolean isDebug,
 | |
| 	boolean isFlat,
 | |
| 	Optional<GlobalPos> lastDeathLocation,
 | |
| 	int portalCooldown,
 | |
| 	int seaLevel
 | |
| ) {
 | |
| 	public CommonPlayerSpawnInfo(RegistryFriendlyByteBuf buffer) {
 | |
| 		this(
 | |
| 			DimensionType.STREAM_CODEC.decode(buffer),
 | |
| 			buffer.readResourceKey(Registries.DIMENSION),
 | |
| 			buffer.readLong(),
 | |
| 			GameType.byId(buffer.readByte()),
 | |
| 			GameType.byNullableId(buffer.readByte()),
 | |
| 			buffer.readBoolean(),
 | |
| 			buffer.readBoolean(),
 | |
| 			buffer.readOptional(FriendlyByteBuf::readGlobalPos),
 | |
| 			buffer.readVarInt(),
 | |
| 			buffer.readVarInt()
 | |
| 		);
 | |
| 	}
 | |
| 
 | |
| 	public void write(RegistryFriendlyByteBuf buffer) {
 | |
| 		DimensionType.STREAM_CODEC.encode(buffer, this.dimensionType);
 | |
| 		buffer.writeResourceKey(this.dimension);
 | |
| 		buffer.writeLong(this.seed);
 | |
| 		buffer.writeByte(this.gameType.getId());
 | |
| 		buffer.writeByte(GameType.getNullableId(this.previousGameType));
 | |
| 		buffer.writeBoolean(this.isDebug);
 | |
| 		buffer.writeBoolean(this.isFlat);
 | |
| 		buffer.writeOptional(this.lastDeathLocation, FriendlyByteBuf::writeGlobalPos);
 | |
| 		buffer.writeVarInt(this.portalCooldown);
 | |
| 		buffer.writeVarInt(this.seaLevel);
 | |
| 	}
 | |
| }
 |