import { Vector2, Vector3 } from 'three'; import { ProcItemConf } from '../tools/ProceduralGenerators.js'; import { SchematicsBlocksMapping } from '../tools/SchematicLoader.js'; import { BiomesRawConf, BlockType, SpawnProfiles, SpawnType } from '../utils/common_types.js'; export declare enum WorldSeed { Global = "global", Heightmap = "heightmap", Amplitude = "amplitude", Heatmap = "heatmap", Rainmap = "rainmap", RandomPos = "random_pos", Spawn = "spawn", Density = "density", Sprite = "sprite" } export type WorldSeeds = Partial>; export type ChunksVerticalRange = { bottomId: number; topId: number; }; export type PatchViewRanges = { near: number; far: number; }; export type BiomesEnvSettings = { rawConf: BiomesRawConf; seaLevel: number; periodicity: number; repartition: { centralHalfSegment: number; transitionHalfRange: number; }; }; export type HeightmapEnvSettings = { spreading: number; harmonics: number; seed?: string; }; export type DebugEnvSettings = { logs: boolean; patch: { borderHighlightColor: BlockType; }; board: { startPosHighlightColor: BlockType; splitSidesColoring: boolean; }; schematics: { missingBlockType: BlockType; }; }; export type ItemsEnv = { schematics: { globalBlocksMapping: SchematicsBlocksMapping; localBlocksMapping: Record; filesIndex: Record; }; proceduralConfigs: Record; }; type WorldGlobalsStub = { debug?: DebugEnvSettings; }; export declare class WorldGlobals { static singleton: WorldGlobals; static get instance(): WorldGlobals; debug: { logs: boolean; patch: { borderHighlightColor: BlockType; }; board: { startPosHighlightColor: BlockType; splitSidesColoring: boolean; }; schematics: { missingBlockType: BlockType; }; }; import(worldGlobalsStub: WorldGlobalsStub): void; export(): WorldGlobalsStub; } export declare const getWorldSeed: (worldSeeds: WorldSeeds, seedName: WorldSeed) => string; export type WorldLocalSettings = { seeds: WorldSeeds; distribution: { mapPatchRange: number; profiles: SpawnProfiles; }; chunks: { powSize: number; verticalRange: ChunksVerticalRange; }; items: ItemsEnv; heightmap: HeightmapEnvSettings; biomes: BiomesEnvSettings; boards: { radius: number; thickness: number; }; globals: WorldGlobalsStub; }; export declare class WorldLocals { rawSettings: WorldLocalSettings; get biomeEnv(): BiomesEnvSettings; get heightmapEnv(): HeightmapEnvSettings; get boardEnv(): { radius: number; thickness: number; }; get itemsEnv(): ItemsEnv; get globalEnv(): WorldGlobalsStub; getPatchSize: () => number; getPatchDimensions: () => Vector2; getChunkDimensions: () => Vector3; getChunksVerticalRange: () => ChunksVerticalRange; getSeaLevel: () => number; setSeaLevel: (seaLevel: number) => number; getDistributionMapDimensions: () => Vector2; getSeed: (seedName: WorldSeed) => string; fromStub: (envStub: Partial) => this; toStub(): WorldLocalSettings; } export {};