@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
104 lines (103 loc) • 4.21 kB
TypeScript
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;
}