@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
73 lines (72 loc) • 3.22 kB
TypeScript
import BlockBaseType from "./BlockBaseType";
import { BlockRenderType } from "./BlockRenderType";
import IBlockTypeData from "./IBlockTypeData";
import IJavaBlockTypeData from "./IJavaBlockTypeData";
import IFile from "../storage/IFile";
import IComponent from "./IComponent";
import IBlockTypeBehaviorPack from "./IBlockTypeBehaviorPack";
import IManagedComponentSetItem from "./IManagedComponentSetItem";
import IManagedComponent from "./IManagedComponent";
import { ManagedComponent } from "./ManagedComponent";
import { IBlocksMetadataBlockProperty } from "./IBlocksMetadata";
import { IBlockResource } from "./IBlocksCatalog";
export default class BlockType implements IManagedComponentSetItem {
data: IBlockTypeData;
javaData: IJavaBlockTypeData | null;
private _baseType?;
private _baseTypeId;
private _isCustom;
private _behaviorPackData;
private _behaviorPackFile?;
private _blockResource?;
private _isLoaded;
private _loadedWithComments;
private _properties;
behaviorPackBlockTypeDef?: IBlockTypeBehaviorPack;
private _managed;
private _onLoaded;
private _onComponentAdded;
private _onComponentRemoved;
private _onComponentChanged;
get numericId(): number | undefined;
set numericId(newId: number | undefined);
get baseTypeId(): string;
get mapColor(): string | undefined;
get isCustom(): boolean;
get baseType(): BlockBaseType;
get catalogResource(): IBlockResource | undefined;
set baseType(baseType: BlockBaseType);
get material(): string;
renderType: BlockRenderType;
get icon(): string;
get title(): string;
get friendlyName(): string;
constructor(typeId: string);
getIcon(): string;
get id(): string;
set id(newId: string);
get onComponentAdded(): import("ste-events").IEvent<BlockType, IManagedComponent>;
get onComponentRemoved(): import("ste-events").IEvent<BlockType, string>;
get onComponentChanged(): import("ste-events").IEvent<BlockType, IManagedComponent>;
get isLoaded(): boolean;
get behaviorPackFile(): IFile | undefined;
get onLoaded(): import("ste-events").IEvent<BlockType, BlockType>;
set behaviorPackFile(newFile: IFile | undefined);
get shortId(): string;
getComponent(id: string): IManagedComponent;
notifyComponentUpdated(id: string): void;
getAllComponents(): IManagedComponent[];
getComponents(): IManagedComponent[];
ensurePropertyDefinition(propertyName: string, propertyDef: IBlocksMetadataBlockProperty): void;
addComponent(id: string, componentOrData: ManagedComponent | IComponent | string | string[] | boolean | number[] | number | undefined): ManagedComponent;
removeComponent(id: string): void;
_ensureBehaviorPackDataInitialized(): void;
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>;
}