UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

64 lines (63 loc) 3.29 kB
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>; }