/** * Provide function to {@link parse} the options.txt and also {@link stringify} it into the string. * * @packageDocumentation * @module @xmcl/gamesetting */ /** * The AmbientOcclusion enum value in options.txt */ export declare enum AmbientOcclusion { Off = 0, Minimum = 1, Maximum = 2 } export declare enum Particles { Minimum = 2, Decreased = 1, All = 0 } export declare enum Difficulty { Peaceful = 0, Easy = 1, Normal = 2, Hard = 3 } export type MipmapLevel = 0 | 1 | 2 | 3 | 4; export type RenderDistance = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32; export declare const RenderDistances: Readonly<{ Tiny: 2; Short: 4; Normal: 8; Far: 16; Extreme: 32; }>; export declare const Graphics: Readonly<{ Fast: false; Fancy: true; }>; export type Graphic = boolean; export declare const RenderClouds: Readonly<{ Off: false; Fast: "fast"; Fancy: true; }>; export type RenderCloud = true | false | 'fast'; export declare enum KeyCode { 'Escape' = 1, 'Digit1' = 2, 'Digit2' = 3, 'Digit3' = 4, 'Digit4' = 5, 'Digit5' = 6, 'Digit6' = 7, 'Digit7' = 8, 'Digit8' = 9, 'Digit9' = 10, 'Digit0' = 11, 'Minus' = 12, 'Equal' = 13, 'Backspace' = 14, 'Tab' = 15, 'KeyQ' = 16, 'KeyW' = 17, 'KeyE' = 18, 'KeyR' = 19, 'KeyT' = 20, 'KeyY' = 21, 'KeyU' = 22, 'KeyI' = 23, 'KeyO' = 24, 'KeyP' = 25, 'BracketLeft' = 26, 'BracketRight' = 27, 'Enter' = 28, 'ControlLeft' = 29, 'KeyA' = 30, 'KeyS' = 31, 'KeyD' = 32, 'KeyF' = 33, 'KeyG' = 34, 'KeyH' = 35, 'KeyJ' = 36, 'KeyK' = 37, 'KeyL' = 38, 'Semicolon' = 39, 'Quote' = 40, 'Backquote' = 41, 'ShiftLeft' = 42, 'Backslash' = 43, 'KeyZ' = 44, 'KeyX' = 45, 'KeyC' = 46, 'KeyV' = 47, 'KeyB' = 48, 'KeyN' = 49, 'KeyM' = 50, 'Comma' = 51, 'Period' = 52, 'Slash' = 53, 'ShiftRight' = 54, 'Space' = 57, 'CapsLock' = 58, 'F1' = 59, 'F2' = 60, 'F3' = 61, 'F4' = 62, 'F5' = 63, 'F6' = 64, 'F7' = 65, 'F8' = 66, 'F9' = 67, 'F10' = 68, 'NumLock' = 69, 'ScrollLock' = 70, 'Numpad7' = 71, 'Numpad8' = 72, 'Numpad9' = 73, 'NumpadSubtract' = 74, 'Numpad4' = 75, 'Numpad5' = 76, 'Numpad6' = 77, 'NumpadAdd' = 78, 'Numpad1' = 79, 'Numpad2' = 80, 'Numpad3' = 81, 'Numpad0' = 82, 'NumpadDecimal' = 83, 'F11' = 87, 'F12' = 88, 'F13' = 100, 'F14' = 101, 'F15' = 102, 'F16' = 103, 'F17' = 104, 'F18' = 105, 'ControlRight' = 157, 'ArrowUp' = 200, 'ArrowLeft' = 203, 'ArrowRight' = 205, 'ArrowDown' = 208, 'MULTIPLY' = 55, 'Left Menu/Alt' = 56, 'NumpadEnter' = 156, 'NumpadComma' = 179, 'Home' = 199, 'PageUp' = 201, 'End' = 207, 'PageDown' = 209, 'Insert' = 210, 'Delete' = 211, 'MouseLeft' = -100, 'MouseRight' = -99, 'MouseMiddle' = -98 } declare const DEFAULT_FRAME: { version: number; invertYMouse: boolean; mouseSensitivity: number; difficulty: Difficulty; renderDistance: RenderDistance; particles: Particles; fboEnable: boolean; fancyGraphics: boolean | undefined; ao: AmbientOcclusion; renderClouds: RenderCloud; enableVsync: boolean; useVbo: boolean; mipmapLevels: MipmapLevel; anaglyph3d: boolean; fov: number; gamma: number; saturation: number; guiScale: number; bobView: boolean; maxFps: number; fullscreen: boolean; resourcePacks: string[]; incompatibleResourcePacks: string[]; lastServer: string; lang: string; chatVisibility: number; chatColors: boolean; chatLinks: boolean; chatLinksPrompt: boolean; chatOpacity: number; snooperEnabled: boolean; hideServerAddress: boolean; advancedItemTooltips: boolean; pauseOnLostFocus: boolean; touchscreen: boolean; overrideWidth: number; overrideHeight: number; heldItemTooltips: boolean; chatHeightFocused: number; chatHeightUnfocused: number; chatScale: number; chatWidth: number; forceUnicodeFont: boolean; reducedDebugInfo: boolean; useNativeTransport: boolean; entityShadows: boolean; mainHand: string; attackIndicator: number; showSubtitles: boolean; realmsNotifications: boolean; enableWeakAttacks: boolean; autoJump: boolean; narrator: number; tutorialStep: string; 'key_key.attack': KeyCode; 'key_key.use': KeyCode; 'key_key.forward': KeyCode; 'key_key.left': KeyCode; 'key_key.back': KeyCode; 'key_key.right': KeyCode; 'key_key.jump': KeyCode; 'key_key.sneak': KeyCode; 'key_key.sprint': KeyCode; 'key_key.drop': KeyCode; 'key_key.inventory': KeyCode; 'key_key.chat': KeyCode; 'key_key.playerlist': KeyCode; 'key_key.pickItem': KeyCode; 'key_key.command': KeyCode; 'key_key.screenshot': KeyCode; 'key_key.togglePerspective': KeyCode; 'key_key.smoothCamera': KeyCode; 'key_key.fullscreen': KeyCode; 'key_key.spectatorOutlines': KeyCode; 'key_key.swapHands': KeyCode; 'key_key.saveToolbarActivator': KeyCode; 'key_key.loadToolbarActivator': KeyCode; 'key_key.advancements': KeyCode; 'key_key.hotbar.1': KeyCode; 'key_key.hotbar.2': KeyCode; 'key_key.hotbar.3': KeyCode; 'key_key.hotbar.4': KeyCode; 'key_key.hotbar.5': KeyCode; 'key_key.hotbar.6': KeyCode; 'key_key.hotbar.7': KeyCode; 'key_key.hotbar.8': KeyCode; 'key_key.hotbar.9': KeyCode; soundCategory_master: KeyCode; soundCategory_music: KeyCode; soundCategory_record: KeyCode; soundCategory_weather: KeyCode; soundCategory_block: KeyCode; soundCategory_hostile: KeyCode; soundCategory_neutral: KeyCode; soundCategory_player: KeyCode; soundCategory_ambient: KeyCode; soundCategory_voice: KeyCode; modelPart_cape: boolean; modelPart_jacket: boolean; modelPart_left_sleeve: boolean; modelPart_right_sleeve: boolean; modelPart_left_pants_leg: boolean; modelPart_right_pants_leg: boolean; modelPart_hat: boolean; }; export type FullFrame = typeof DEFAULT_FRAME; export type Frame = Partial; /** * Get the default values in options.txt. */ export declare function getDefaultFrame(): FullFrame; export type ModelPart = 'cape' | 'jacket' | 'left_sleeve' | 'right_sleeve' | 'left_pants_leg' | 'right_pants_leg' | 'hat'; export type SoundCategories = 'master' | 'music' | 'record' | 'weather' | 'block' | 'hostile' | 'neutral' | 'player' | 'ambient' | 'voice'; export type HotKeys = 'attack' | 'use' | 'forward' | 'left' | 'back' | 'right' | 'jump' | 'sneak' | 'sprint' | 'drop' | 'inventory' | 'chat' | 'playerlist' | 'pickItem' | 'command' | 'screenshot' | 'togglePerspective' | 'smoothCamera' | 'fullscreen' | 'spectatorOutlines' | 'swapHands' | 'saveToolbarActivator' | 'loadToolbarActivator' | 'advancements' | 'hotbar.1' | 'hotbar.2' | 'hotbar.3' | 'hotbar.4' | 'hotbar.5' | 'hotbar.6' | 'hotbar.7' | 'hotbar.8' | 'hotbar.9'; /** * Parse raw game setting options.txt content * * @param str the options.txt content * @param strict strictly follow the current version of options format (outdate version might cause problem. If your options.txt is new one with new fields, don't turn on this) */ export declare function parse(str: string, strict?: boolean): GameSetting | Frame; /** * Generate text format game setting for options.txt file. * * @param setting The game setting object * @param original * @param eol The end of line character, default is `\n` */ export declare function stringify(setting: GameSetting | Frame | any, original?: string, eol?: string): string; export type GameSetting = ReturnType; export {}; //# sourceMappingURL=index.d.ts.map