@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
44 lines (43 loc) • 1.89 kB
TypeScript
import ProjectInfoItem from "../info/ProjectInfoItem";
import Project from "../app/Project";
import IProjectInfoGenerator from "../info/IProjectInfoGenerator";
import IProjectUpdater from "../updates/IProjectUpdater";
import ProjectUpdateResult from "../updates/ProjectUpdateResult";
import { IProjectInfoTopicData } from "../info/IProjectInfoGeneratorBase";
import ProjectInfoSet from "../info/ProjectInfoSet";
import ContentIndex from "../core/ContentIndex";
export declare enum ItemTypeUpdate {
UpdateFormatVersionToLatest = 1
}
export declare enum ItemTypeInfo {
identifier = 53,
metadata = 54,
category = 55,
formatVersionDefined = 100,
formatVersionMajorVersionLowerThanCurrent = 110,
formatVersionMajorVersionHigherThanCurrent = 111,
formatVersionMinorVersionLowerThanCurrent = 120,
formatVersionMinorVersionHigherThanCurrent = 121,
formatVersionPatchVersionLowerThanCurrent = 130,
formatVersionPatchVersionHigherThanCurrent = 131,
failedToRetrieveLatestMinecraftVersion = 500,
failedToParseLatestMinecraftVersion = 501
}
/**
* Validates and updates item type definitions, including format version management.
*
* @see {@link ../../../public/data/forms/mctoolsval/itemtype.form.json} for topic definitions
*/
export default class ItemTypeManager implements IProjectInfoGenerator, IProjectUpdater {
id: string;
title: string;
getTopicData(topicId: number): IProjectInfoTopicData | undefined;
getUpdaterData(updaterId: number): {
title: string;
};
summarize(info: any, infoSet: ProjectInfoSet): void;
generate(project: Project, contentIndex: ContentIndex): Promise<ProjectInfoItem[]>;
update(project: Project, updateId: number): Promise<ProjectUpdateResult[]>;
getUpdateIds(): ItemTypeUpdate[];
updateFormatVersionToLatestVersion(project: Project): Promise<ProjectUpdateResult[]>;
}