@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
64 lines (62 loc) • 4.53 kB
JavaScript
;
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
Object.defineProperty(exports, "__esModule", { value: true });
exports.WorldItemInfoGeneratorTest = void 0;
const ProjectInfoItem_1 = require("./ProjectInfoItem");
const IProjectItemData_1 = require("../app/IProjectItemData");
const MCWorld_1 = require("../minecraft/MCWorld");
const Log_1 = require("../core/Log");
const IInfoItemData_1 = require("./IInfoItemData");
const ProjectInfoUtilities_1 = require("./ProjectInfoUtilities");
var WorldItemInfoGeneratorTest;
(function (WorldItemInfoGeneratorTest) {
WorldItemInfoGeneratorTest[WorldItemInfoGeneratorTest["betaApisExperiment"] = 101] = "betaApisExperiment";
WorldItemInfoGeneratorTest[WorldItemInfoGeneratorTest["dataDrivenItemsExperiment"] = 102] = "dataDrivenItemsExperiment";
WorldItemInfoGeneratorTest[WorldItemInfoGeneratorTest["deferredTechnicalPreviewExperiment"] = 103] = "deferredTechnicalPreviewExperiment";
WorldItemInfoGeneratorTest[WorldItemInfoGeneratorTest["worldName"] = 108] = "worldName";
WorldItemInfoGeneratorTest[WorldItemInfoGeneratorTest["worldDescription"] = 109] = "worldDescription";
})(WorldItemInfoGeneratorTest = exports.WorldItemInfoGeneratorTest || (exports.WorldItemInfoGeneratorTest = {}));
class WorldItemInfoGenerator {
constructor() {
this.id = "WORLD";
this.title = "World Validation";
}
getTopicData(topicId) {
return {
title: topicId.toString(),
};
}
summarize(info, infoSet) {
info.baseGameVersion = infoSet.getFirstStringValue(this.id, 107);
}
async generate(projectItem) {
const items = [];
if (projectItem.itemType === IProjectItemData_1.ProjectItemType.MCWorld ||
projectItem.itemType === IProjectItemData_1.ProjectItemType.MCTemplate ||
projectItem.itemType === IProjectItemData_1.ProjectItemType.worldFolder) {
let mcworld = await MCWorld_1.default.ensureOnItem(projectItem);
if (!mcworld) {
Log_1.default.debugAlert("Could not find respective world.");
return items;
}
await mcworld.load(false);
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, this.id, WorldItemInfoGeneratorTest.betaApisExperiment, ProjectInfoUtilities_1.default.getTitleFromEnum(WorldItemInfoGeneratorTest, WorldItemInfoGeneratorTest.betaApisExperiment), projectItem, mcworld.betaApisExperiment, mcworld.name));
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, this.id, WorldItemInfoGeneratorTest.dataDrivenItemsExperiment, ProjectInfoUtilities_1.default.getTitleFromEnum(WorldItemInfoGeneratorTest, WorldItemInfoGeneratorTest.dataDrivenItemsExperiment), projectItem, mcworld.dataDrivenItemsExperiment, mcworld.name));
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, this.id, WorldItemInfoGeneratorTest.deferredTechnicalPreviewExperiment, ProjectInfoUtilities_1.default.getTitleFromEnum(WorldItemInfoGeneratorTest, WorldItemInfoGeneratorTest.deferredTechnicalPreviewExperiment), projectItem, mcworld.deferredTechnicalPreviewExperiment, mcworld.name));
if (mcworld.manifest && mcworld.manifest.header && mcworld.manifest.header.base_game_version) {
let val = mcworld.manifest.header.base_game_version;
if (val.join) {
val = val.join(".");
}
val = val.toString();
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, this.id, 107, "Base game version", projectItem, val, mcworld.name));
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, "WORLD", WorldItemInfoGeneratorTest.worldName, ProjectInfoUtilities_1.default.getTitleFromEnum(WorldItemInfoGeneratorTest, WorldItemInfoGeneratorTest.worldName), projectItem, mcworld.manifest.header.name, mcworld.name));
items.push(new ProjectInfoItem_1.default(IInfoItemData_1.InfoItemType.info, "WORLD", WorldItemInfoGeneratorTest.worldDescription, ProjectInfoUtilities_1.default.getTitleFromEnum(WorldItemInfoGeneratorTest, WorldItemInfoGeneratorTest.worldDescription), projectItem, mcworld.manifest.header.description, mcworld.name));
}
}
return items;
}
}
exports.default = WorldItemInfoGenerator;
//# sourceMappingURL=../maps/info/WorldItemInfoGenerator.js.map