UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

51 lines (50 loc) 1.73 kB
import IFile from "../storage/IFile"; import IDefinition from "./IDefinition"; import Project from "../app/Project"; import ProjectItem from "../app/ProjectItem"; export interface IJigsawProcessorRule { input_predicate: { predicate_type: string; block?: string; probability?: number; }; output_state: { name: string; }; } export interface IJigsawProcessor { processor_type: string; rules: IJigsawProcessorRule[]; } export interface IJigsawProcessorListDefinition { format_version: string; "minecraft:processor_list": { description: { identifier: string; }; processors: IJigsawProcessor[]; }; } export default class JigsawProcessorListDefinition implements IDefinition { private _file?; private _data?; private _isLoaded; private _loadedWithComments; get data(): IJigsawProcessorListDefinition; get file(): IFile | undefined; set file(newFile: IFile | undefined); get isLoaded(): boolean; get id(): string; get processors(): IJigsawProcessor[]; getFormatVersionIsCurrent(): Promise<boolean>; addChildItems(project: Project, item: ProjectItem): Promise<void>; static ensureOnFile(file: IFile): Promise<JigsawProcessorListDefinition | undefined>; /** * Loads the definition from the file. * @param preserveComments If true, uses comment-preserving JSON parsing for edit/save cycles. * If false (default), uses efficient standard JSON parsing. * Can be called again with true to "upgrade" a read-only load to read/write. */ load(preserveComments?: boolean): Promise<void>; persist(): boolean; }