UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

49 lines (48 loc) 2.24 kB
import IFile from "../storage/IFile"; import { IEventHandler } from "ste-events"; import IModelGeometry, { IGeometry } from "./IModelGeometry"; export default class ModelGeometryDefinition { private _file?; private _isLoaded; private _loadedWithComments; private _data?; definitions: IGeometry[]; private _identifiers; private _onLoaded; get data(): IModelGeometry; get formatVersion(): string; get isLoaded(): boolean; get defaultGeometry(): IGeometry; get file(): IFile | undefined; set file(newFile: IFile | undefined); get onLoaded(): import("ste-events").IEvent<ModelGeometryDefinition, ModelGeometryDefinition>; get identifiers(): string[]; getById(id: string): IGeometry | undefined; getVisibleBoundsWidth(defIndex: number): number | undefined; getVisibleBoundsHeight(defIndex: number): number | undefined; getVisibleBoundsOffset(defIndex: number): number[] | undefined; getTextureWidth(defIndex: number): number | undefined; ensureDefault(id: string): void; getTextureHeight(defIndex: number): number | undefined; static ensureOnFile(file: IFile, loadHandler?: IEventHandler<ModelGeometryDefinition, ModelGeometryDefinition>): Promise<ModelGeometryDefinition>; getFormatVersionIsCurrent(): Promise<boolean>; getFormatVersion(): number[]; persist(): boolean; ensureDefinition(name: string): void; save(): Promise<void>; populateDefsAndIds(): void; /** * Load geometry data from a raw JavaScript object (parsed JSON). * Useful for loading geometry data without a file reference. * @param data The geometry JSON data object * @param geometryId Optional specific geometry identifier to select from multi-geometry files */ loadFromData(data: object, geometryId?: string): void; /** * 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>; }