void SpawnDecoration(World.Streaming.IChunk chunk, Vector3 chunkWorldPos, World.Decoration_t decoration)
        {
            SpawnPointData spawnPoint;

            switch (decoration.type)
            {
            default:
                return;

            case EDecorationType.MonsterSpawn:
                if (_monsterSpawns.Length < 1)
                {
                    return;
                }
                spawnPoint = _monsterSpawns.GetAtIndexZeroToOne(GetWhiteNoise(chunkWorldPos.x, chunkWorldPos.y, chunkWorldPos.z));
                break;

            case EDecorationType.Merchant:
                if (_merchantSpawns.Length < 1)
                {
                    return;
                }
                spawnPoint = _merchantSpawns.GetAtIndexZeroToOne(GetWhiteNoise(chunkWorldPos.x, chunkWorldPos.y, chunkWorldPos.z));
                break;

            case EDecorationType.Horse:
                if (_horseSpawns.Length < 1)
                {
                    return;
                }
                spawnPoint = _horseSpawns.GetAtIndexZeroToOne(GetWhiteNoise(chunkWorldPos.x, chunkWorldPos.y, chunkWorldPos.z));
                break;

            case EDecorationType.Chest:
                if (_chestSpawns.Length < 1)
                {
                    return;
                }
                spawnPoint = _chestSpawns.GetAtIndexZeroToOne(GetWhiteNoise(chunkWorldPos.x, chunkWorldPos.y, chunkWorldPos.z));
                break;

            case EDecorationType.MapReveal:
                if (_mapRevealSpawns.Length < 1)
                {
                    return;
                }
                spawnPoint = _mapRevealSpawns.GetAtIndexZeroToOne(GetWhiteNoise(chunkWorldPos.x, chunkWorldPos.y, chunkWorldPos.z));
                break;
            }

            spawnPoint.Spawn <Actor>(this, decoration.pos, 0);
        }
        void SpawnDecorations(World.Streaming.IChunk chunk)
        {
            var decorationCount = chunk.decorationCount;

            if (decorationCount > 0)
            {
                var decorations = chunk.decorations;
                var wpos        = World.WorldToVec3(World.ChunkToWorld(chunk.chunkPos));

                for (int i = 0; i < decorationCount; ++i)
                {
                    SpawnDecoration(chunk, wpos, decorations[i]);
                }
            }
        }
 public World.Streaming.IMMappedChunkData MMapChunkData(World.Streaming.IChunk chunk)
 {
     return(null);
 }
 protected override void OnChunkUnloaded(World.Streaming.IChunk chunk)
 {
 }
 protected override void OnChunkLoaded(World.Streaming.IChunk chunk)
 {
     SpawnDecorations(chunk);
 }