UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

76 lines (75 loc) 5.99 kB
import IFile from "../storage/IFile"; import { IEventHandler } from "ste-events"; import IDefinition from "./IDefinition"; import Project from "../app/Project"; import ProjectItem from "../app/ProjectItem"; import RelationsIndex from "../app/RelationsIndex"; import MinecraftAggregateFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftAggregateFeature"; import MinecraftBeardsAndShavers from "@minecraft/bedrock-schemas/types/bp/features/MinecraftBeardsAndShavers"; import MinecraftCaveCarverFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftCaveCarverFeature"; import MinecraftFossilFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftFossilFeature"; import MinecraftGeodeFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftGeodeFeature"; import MinecraftGrowingPlantFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftGrowingPlantFeature"; import MinecraftMultifaceFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftMultifaceFeature"; import MinecraftNetherCaveCarverFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftNetherCaveCarverFeature"; import MinecraftOreFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftOreFeature"; import MinecraftPartiallyExposedBlobFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftPartiallyExposedBlobFeature"; import MinecraftRectLayout from "@minecraft/bedrock-schemas/types/bp/features/MinecraftRectLayout"; import MinecraftScanSurface from "@minecraft/bedrock-schemas/types/bp/features/MinecraftScanSurface"; import MinecraftScatterFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftScatterFeature"; import MinecraftSculkPatchFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSculkPatchFeature"; import MinecraftSearchFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSearchFeature"; import MinecraftSequenceFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSequenceFeature"; import MinecraftSingleBlockFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSingleBlockFeature"; import MinecraftSnapToSurfaceFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSnapToSurfaceFeature"; import MinecraftStructureTemplateFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftStructureTemplateFeature"; import MinecraftSurfaceRelativeThresholdFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftSurfaceRelativeThresholdFeature"; import MinecraftTreeFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftTreeFeature"; import MinecraftUnderwaterCaveCarverFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftUnderwaterCaveCarverFeature"; import MinecraftVegetationPatchFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftVegetationPatchFeature"; import MinecraftWeightedRandomFeature from "@minecraft/bedrock-schemas/types/bp/features/MinecraftWeightedRandomFeature"; import MinecraftFeatureBase from "./jsoncommon/MinecraftFeatureBase"; export declare const FeatureTypes: string[]; export default class FeatureDefinition implements IDefinition { private _file?; private _id?; private _isLoaded; private _loadedWithComments; private _data?; private _onLoaded; get typeString(): string; get data(): MinecraftFeatureBase | MinecraftAggregateFeature | MinecraftBeardsAndShavers | MinecraftCaveCarverFeature | MinecraftFossilFeature | MinecraftGeodeFeature | MinecraftGrowingPlantFeature | MinecraftMultifaceFeature | MinecraftNetherCaveCarverFeature | MinecraftOreFeature | MinecraftPartiallyExposedBlobFeature | MinecraftRectLayout | MinecraftScanSurface | MinecraftScatterFeature | MinecraftSculkPatchFeature | MinecraftSearchFeature | MinecraftSequenceFeature | MinecraftSingleBlockFeature | MinecraftSnapToSurfaceFeature | MinecraftStructureTemplateFeature | MinecraftSurfaceRelativeThresholdFeature | MinecraftTreeFeature | MinecraftUnderwaterCaveCarverFeature | MinecraftVegetationPatchFeature | MinecraftWeightedRandomFeature; get isLoaded(): boolean; get file(): IFile | undefined; get onLoaded(): import("ste-events").IEvent<FeatureDefinition, FeatureDefinition>; set file(newFile: IFile | undefined); get id(): string | undefined; set id(newId: string | undefined); get shortId(): string; getFormatVersionIsCurrent(): Promise<boolean>; getFormatVersion(): number[] | undefined; setResourcePackFormatVersion(versionStr: string): void; _ensureDataInitialized(): void; static ensureOnFile(file: IFile, loadHandler?: IEventHandler<FeatureDefinition, FeatureDefinition>): Promise<FeatureDefinition>; 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>; /** * Extracts all feature identifiers that this feature references/depends on. * Different feature types reference other features in different ways: * - aggregate_feature, sequence_feature: features[] array of strings * - weighted_random_feature: features[] array of [featureId, weight] tuples * - scatter_feature, search_feature, beards_and_shavers: places_feature string * - conditional_list: conditional_features[] array of objects with places_feature * - snap_to_surface_feature: feature_to_snap string * - surface_relative_threshold_feature: feature_to_place string * - vegetation_patch_feature: vegetation_feature string */ getReferencedFeatureIds(): string[]; addChildItems(project: Project, item: ProjectItem, index?: RelationsIndex): Promise<void>; }