@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
64 lines (63 loc) • 3.29 kB
TypeScript
import IFile from "../storage/IFile";
import IManagedComponentSetItem from "./IManagedComponentSetItem";
import IComponent from "./IComponent";
import { IEventHandler } from "ste-events";
import IItemTypeBehaviorPack from "./IItemTypeBehaviorPack";
import { ManagedComponent } from "./ManagedComponent";
import IManagedComponent from "./IManagedComponent";
import IDefinition from "./IDefinition";
import Project from "../app/Project";
import ProjectItem from "../app/ProjectItem";
import RelationsIndex from "../app/RelationsIndex";
export default class ItemTypeDefinition implements IManagedComponentSetItem, IDefinition {
private _wrapper;
private _file?;
private _id?;
private _isLoaded;
private _loadedWithComments;
private _managed;
private _data?;
private _onLoaded;
private _onComponentAdded;
private _onComponentRemoved;
private _onComponentChanged;
get data(): IItemTypeBehaviorPack;
get onComponentAdded(): import("ste-events").IEvent<ItemTypeDefinition, IManagedComponent>;
get onComponentRemoved(): import("ste-events").IEvent<ItemTypeDefinition, string>;
get onComponentChanged(): import("ste-events").IEvent<ItemTypeDefinition, IManagedComponent>;
get isLoaded(): boolean;
get behaviorPackFile(): IFile | undefined;
get onLoaded(): import("ste-events").IEvent<ItemTypeDefinition, ItemTypeDefinition>;
set behaviorPackFile(newFile: IFile | undefined);
_handleFileUpdated(file: IFile, fileB: IFile): void;
get id(): string;
set id(newId: string);
get formatVersion(): string;
get shortId(): string;
getFormatVersionIsCurrent(): Promise<boolean>;
getFormatVersion(): number[] | undefined;
setFormatVersion(version: string): void;
constructor();
ensureComponent(id: string, defaultData?: IComponent | string | string[] | boolean | number[] | number | undefined): IManagedComponent | ManagedComponent;
getComponent(id: string): IManagedComponent;
notifyComponentUpdated(id: string): void;
getAllComponents(): IManagedComponent[];
getCustomComponentIds(): string[];
getComponents(): IManagedComponent[];
addChildItems(project: Project, item: ProjectItem, index?: RelationsIndex): Promise<void>;
setBehaviorPackFormatVersion(versionStr: string): void;
addComponent(id: string, componentOrData: ManagedComponent | IComponent | string | string[] | boolean | number[] | number | undefined): ManagedComponent;
removeComponent(id: string): void;
_ensureBehaviorPackDataInitialized(): void;
addCustomComponent(itemTypeItem: ProjectItem, componentName: string): Promise<void>;
static ensureOnFile(file: IFile, loadHandler?: IEventHandler<ItemTypeDefinition, ItemTypeDefinition>, preserveComments?: boolean): Promise<ItemTypeDefinition>;
static isVisualComponent(value: string): boolean;
persist(): boolean;
/**
* 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>;
}