UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

99 lines (97 loc) 5.84 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const IProjectItemData_1 = require("../app/IProjectItemData"); const AnimationBehaviorDefinition_1 = require("./AnimationBehaviorDefinition"); const AnimationControllerBehaviorDefinition_1 = require("./AnimationControllerBehaviorDefinition"); const AnimationControllerResourceDefinition_1 = require("./AnimationControllerResourceDefinition"); const AnimationResourceDefinition_1 = require("./AnimationResourceDefinition"); const AudioDefinition_1 = require("./AudioDefinition"); const BehaviorManifestDefinition_1 = require("./BehaviorManifestDefinition"); const BlockTypeDefinition_1 = require("./BlockTypeDefinition"); const EntityTypeDefinition_1 = require("./EntityTypeDefinition"); const EntityTypeResourceDefinition_1 = require("./EntityTypeResourceDefinition"); const FlipbookTextureCatalogDefinition_1 = require("./FlipbookTextureCatalogDefinition"); const ItemTypeBehaviorDefinition_1 = require("./ItemTypeBehaviorDefinition"); const MusicDefinitionCatalogDefinition_1 = require("./MusicDefinitionCatalogDefinition"); const RenderControllerSetDefinition_1 = require("./RenderControllerSetDefinition"); const ResourceManifestDefinition_1 = require("./ResourceManifestDefinition"); const SoundCatalogDefinition_1 = require("./SoundCatalogDefinition"); const SoundDefinitionCatalogDefinition_1 = require("./SoundDefinitionCatalogDefinition"); class MinecraftDefinitions { static async get(projectItem) { if (!projectItem.file || !projectItem.file.content || typeof projectItem.file.content !== "string") { await projectItem.ensureFileStorage(); if (!projectItem.file) { return undefined; } await projectItem.file.loadContent(); if (!projectItem.file.content || typeof projectItem.file.content !== "string") { return undefined; } } switch (projectItem.itemType) { case IProjectItemData_1.ProjectItemType.entityTypeBehavior: return await EntityTypeDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.entityTypeResource: return await EntityTypeResourceDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.itemTypeBehavior: return await ItemTypeBehaviorDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.blockTypeBehavior: return await BlockTypeDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.flipbookTexturesJson: return await FlipbookTextureCatalogDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.behaviorPackManifestJson: return await BehaviorManifestDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.resourcePackManifestJson: return await ResourceManifestDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.animationControllerBehaviorJson: return await AnimationControllerBehaviorDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.animationControllerResourceJson: return await AnimationControllerResourceDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.animationBehaviorJson: return await AnimationBehaviorDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.animationResourceJson: return await AnimationResourceDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.soundDefinitionCatalog: return await SoundDefinitionCatalogDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.soundCatalog: return await SoundCatalogDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.musicDefinitionJson: return await MusicDefinitionCatalogDefinition_1.default.ensureOnFile(projectItem.file); case IProjectItemData_1.ProjectItemType.renderControllerJson: return await RenderControllerSetDefinition_1.default.ensureOnFile(projectItem.file); } return undefined; } static async ensureFoundationalDependencies(item) { if (item.itemType === IProjectItemData_1.ProjectItemType.audio) { await item.ensureStorage(); if (item.file) { const audioFile = await AudioDefinition_1.default.ensureOnFile(item.file); if (audioFile) { await audioFile.ensureSoundDefinitionsForFile(item.project); } } } } static async formatVersionIsCurrent(projectItem) { const def = await MinecraftDefinitions.get(projectItem); if (def && def.getFormatVersionIsCurrent) { return await def.getFormatVersionIsCurrent(); } return true; } static async getFormatVersion(projectItem) { const def = await MinecraftDefinitions.get(projectItem); if (def && def.getFormatVersion) { const fv = await def.getFormatVersion(); if (!(fv instanceof Array)) { return undefined; } return fv; } return undefined; } } exports.default = MinecraftDefinitions; //# sourceMappingURL=../maps/minecraft/MinecraftDefinitions.js.map