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