@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
76 lines (75 loc) • 5.99 kB
TypeScript
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>;
}