UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

104 lines (103 loc) 4.21 kB
import CreatorTools from "./CreatorTools"; import { MinecraftFlavor } from "./ICreatorToolsData"; import IStorage from "../storage/IStorage"; import IFolder from "../storage/IFolder"; import IMinecraft from "./IMinecraft"; export declare enum CreatorToolsThemeStyle { dark = 0, light = 1, highContrastDark = 2, highContrastLight = 3 } export declare enum HostType { web = 0, toolsNodejs = 1, electronNodeJs = 2, electronWeb = 3, vsCodeMainNodeJs = 4, vsCodeMainWeb = 5, vsCodeWebService = 6, vsCodeWebWeb = 7, webPlusServices = 8, testLocal = 9 } export default class CreatorToolsHost { private static _creatorTools?; private static _onInitialized; private static _onThemeChanged; private static _initializing; private static _initialized; static isLocalNode: boolean; static fullLocalStorage: boolean; static hostType: HostType; static hostManager?: any; private static _theme; /** * True when the OS/browser is in a forced-colors (high contrast) mode. * This is orthogonal to dark/light — HC Dark sets theme=dark + isHighContrast, * HC Light sets theme=light + isHighContrast. */ static isHighContrast: boolean; static retrieveDataFromWebContentRoot: boolean; static contentWebRoot: string; static vanillaContentRoot: string; static projectPath: string; static focusPath: string | undefined; static baseUrl: string; /** * Gets the effective root URL for vanilla content (textures, samples, definitions). * Returns vanillaContentRoot if set, otherwise falls back to contentRoot. */ static getVanillaContentRoot(): string; /** * Gets the current theme style */ static get theme(): CreatorToolsThemeStyle; /** * Sets the theme style and notifies listeners */ static set theme(value: CreatorToolsThemeStyle); /** * Event fired when theme changes. Use this to update FluentUI components * that are initialized outside of React's render cycle. */ static get onThemeChanged(): import("ste-events").IEvent<CreatorToolsHost, CreatorToolsThemeStyle>; static initialMode: string | null; static modeParameter: string | null; static contentUrl: string | null; static readOnly: boolean; static postMessage: ((message: any) => void) | undefined; static prefsStorage: IStorage | null; static projectsStorage: IStorage | null; static deploymentStorage: IStorage[]; static worldStorage: IStorage | null; static packStorage: IStorage | null; static workingStorage: IStorage | null; static generateCryptoRandomNumber: (toVal: number) => number; static generateUuid: () => string; static localFolderExists: ((path: string) => Promise<boolean>) | undefined; static localFileExists: ((path: string) => Promise<boolean>) | undefined; static ensureLocalFolder: ((path: string) => IFolder) | undefined; static createMinecraft: ((flavor: MinecraftFlavor, creatorTOols: CreatorTools) => IMinecraft | undefined) | undefined; static canCreateMinecraft: ((flavor: MinecraftFlavor) => boolean) | undefined; static decodePng: ((data: Uint8Array) => { width: number; height: number; pixels: Uint8Array; } | undefined) | undefined; static encodeToPng: ((pixels: Uint8Array, width: number, height: number) => Uint8Array | undefined) | undefined; private static _onMessage; static get isNodeJs(): boolean; static get isVsCode(): boolean; static get isWeb(): boolean; static get isAppServiceWeb(): boolean; static get onMessage(): import("ste-events").IEvent<any, any>; static get onInitialized(): import("ste-events").IEvent<CreatorTools, CreatorTools>; static getCreatorTools(): CreatorTools | undefined; static notifyNewMessage(source: any, message: any): void; static setHostType(type: HostType): void; static init(): void; static _localFolderExists(path: string): Promise<boolean>; static _localFileExists(path: string): Promise<boolean>; static _ensureElectronLocalFolder(path: string): import("../electronclient/ElectronFolder").default; }