public CachedChunk(WorldServer world, Vector3i position, BinaryReader reader) : this(world, position) { Min = new Vector3i(reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32()); Max = new Vector3i(reader.ReadInt32(), reader.ReadInt32(), reader.ReadInt32()); for (var x = Min.X; x <= Max.X; x++) { for (var y = Min.Y; y <= Max.Y; y++) { for (var z = Min.Z; z <= Max.Z; z++) { BlockIds[x, y, z] = reader.ReadUInt16(); LightLevels[x, y, z] = LightLevel.FromBinary(reader.ReadUInt16()); } } } var blockDataCount = reader.ReadInt32(); for (var i = 0; i < blockDataCount; i++) { var blockDataPos = Vector3iChunk.FromBinary(reader.ReadUInt16()); var blockData = BlockData.ReadFromStream(reader); BlockDatas.Add(blockDataPos, blockData); } }
public Chunk(WorldServer world, Vector3i position) { World = world; Position = position; Time = DateTime.Now; }
public CachedChunk(WorldServer world, Vector3i position) { World = world; Position = position; }