示例#1
0
    /// <summary>
    ///Load terrain, saved changes and resets
    ///the light for an empty chunk
    /// </summary>
    /// <param name="chunk">The chunk to generate and load for</param>
    protected virtual void GenAndLoadChunk(Chunk chunk)
    {
        if (chunk.pos.y == Config.Env.WorldMaxY)
        {
            terrainGen.GenerateTerrainForChunkColumn(chunk.pos);

            for (int i = Config.Env.WorldMinY; i < Config.Env.WorldMaxY; i += Config.Env.ChunkSize)
            {
                Serialization.Load(GetChunk(new BlockPos(chunk.pos.x, i, chunk.pos.z)));
            }

            if (Config.Toggle.LightSceneOnStart)
            {
                BlockLight.ResetLightChunkColumn(this, chunk);
            }
        }

        chunk.SetFlag(Chunk.Flag.terrainGenerated, true);
    }