UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

237 lines (236 loc) 7.11 kB
import IGitHubInfo from "./IGitHubInfo"; import IProjectItemVariant from "./IProjectItemVariant"; export declare const MaxItemTypes = 166; export declare enum ProjectItemCategory { assets = 0, logic = 1, types = 2, build = 3, documentation = 4, meta = 5, package = 6, unknown = 7, mctools = 8 } export declare enum ProjectItemType { unknown = 0, testJs = 1, js = 2, catalogIndexJs = 3, structure = 4, behaviorPackManifestJson = 5, unknownJson = 6, MCWorld = 7, MCTemplate = 8, MCFunction = 9, entityTypeBehavior = 10, entityTypeBaseJs = 11,// <--- not in use, in favor of just general .js + generated actionSet = 12, ts = 13, resourcePackManifestJson = 14, worldTest = 15, worldFolder = 16, behaviorPackListJson = 17, resourcePackListJson = 18, animationBehaviorJson = 19, animationControllerBehaviorJson = 20, blockTypeBehavior = 21, blockMaterialsBehaviorJson = 22, itemTypeBehavior = 23, lootTableBehavior = 24, biomesClientCatalogResource = 25,// legacy mega catalog of biome resources (biomes_client) blocksCatalogResourceJson = 26, soundCatalog = 27, animationResourceJson = 28, animationControllerResourceJson = 29, entityTypeResource = 30, fogResourceJson = 31, modelGeometryJson = 32, particleJson = 33, renderControllerJson = 34, ninesliceJson = 35, uiJson = 36, languagesCatalogJson = 37, biomeBehavior = 38, dialogueBehaviorJson = 39, featureRuleBehavior = 40, featureBehavior = 41, functionEventJson = 42, recipeBehavior = 43, spawnRuleBehavior = 44, tradingBehaviorJson = 45, volumeBehaviorJson = 46, attachableResourceJson = 47, itemTypeLegacyResource = 48,// note this is the 1.10 definition of item resources, more modern items use attachables? materialsResourceJson = 49, musicDefinitionJson = 50, soundDefinitionCatalog = 51, blockTypeResourceJsonDoNotUse = 52,// deprecated - Duplicate of blocksCatalogResourceJson MCAddon = 53, zip = 54, MCPack = 55, documentedTypeFolder = 56, documentedCommandFolder = 57, tsconfigJson = 58, packageJson = 59, packageLockJson = 60, docInfoJson = 61, scriptTypesJson = 62, commandSetDefinitionJson = 63, jsconfigJson = 64, docfxJson = 65, jsdocJson = 66, skinPackManifestJson = 67, worldTemplateManifestJson = 68, buildProcessedJs = 69, entityTypeBaseTs = 70,// <--- not in use, in favor of just general .ts + generated blockTypeBaseJs = 71,// <--- not in use, in favor of just general .js + generated blockTypeBaseTs = 72,// <--- not in use, in favor of just general .ts + generated MCProject = 73, image = 74, vsCodeLaunchJson = 75, vsCodeTasksJson = 76, vsCodeSettingsJson = 77, vsCodeExtensionsJson = 78, lang = 79, projectSummaryMetadata = 80, tickJson = 81, cameraBehaviorJson = 82, material = 83, materialSetJson = 84, materialVertex = 85, materialFragment = 86, materialGeometry = 87,// NOTE: this is a /materials specific .geometry file, and not a .geo.json type file (which is modelGeometryJson) lightingJson = 88, textureSetJson = 89, flipbookTexturesJson = 91, itemTextureJson = 92, terrainTextureCatalogResourceJson = 93, globalVariablesJson = 94, dataForm = 95, dimensionJson = 96, behaviorPackHistoryListJson = 97, resourcePackHistoryListJson = 98, texture = 99, marketingAssetImage = 100, storeAssetImage = 101, uiTexture = 102, packIconImage = 103, textureListJson = 104, fileListArrayJson = 105, vanillaDataJson = 106, engineOrderingJson = 107, audio = 108, behaviorPackFolder = 109, resourcePackFolder = 110, skinPackFolder = 111, contentIndexJson = 112, contentReportJson = 113, levelDbLdb = 114, levelDbLog = 115, levelDbCurrent = 116, levelDbManifest = 117, levelDat = 118, justConfigTs = 119, esLintConfigMjs = 120, env = 121, prettierRcJson = 122, skinCatalogJson = 123, tagsMetadata = 124, personaManifestJson = 125, personaPackFolder = 126, blockCulling = 127, craftingItemCatalog = 128, mcToolsProjectPreferences = 129, educationJson = 130, aimAssistPresetJson = 131, colorGradingJson = 132, atmosphericsJson = 133, pbrJson = 134, pointLightsJson = 135, waterJson = 136, shadowsJson = 137, contentsJson = 138, jigsawStructureSet = 139, jigsawStructure = 140, jigsawTemplatePool = 141, jigsawProcessorList = 142, aimAssistCategoryJson = 143, behaviorTreeJson = 144, spawnGroupJson = 145, designPackManifestJson = 146, designPackFolder = 147, designTexture = 148, personaJson = 149, sdlLayout = 150, lodJson = 151, rendererJson = 152, loadingMessagesJson = 153, splashesJson = 154, cameraResourceJson = 155, fontMetadataJson = 156, emoticonsJson = 157, skinPackGeometryJson = 158, skinPackTextureBackCompatJson = 159, uniformsJson = 160, biomeResource = 161,// new style per-biome JSON files levelDatOld = 162, jsMap = 163, markdownDocumentation = 164, voxelShapeBehavior = 165 } export declare enum ProjectItemStorageType { singleFile = 0, folder = 1 } export declare enum ProjectItemEditPreference { projectDefault = 0, forceEditor = 1, forceRaw = 2 } export declare enum ProjectItemErrorStatus { none = 0, unprocessable = 1 } export declare enum ProjectItemCreationType { normal = 0, generated = 1, build = 2, dist = 3 } export default interface IProjectItemData { itemType: ProjectItemType; projectPath: string | null | undefined; storagePath?: string | null | undefined; variants: { [label: string]: IProjectItemVariant; }; tags: string[]; name: string; source?: string; isInWorld?: boolean; storageType: ProjectItemStorageType | undefined; gitHubReference?: IGitHubInfo; creationType?: ProjectItemCreationType; editPreference?: ProjectItemEditPreference; errorMessage?: string; errorStatus?: ProjectItemErrorStatus; items?: IProjectItemData[]; /** * Cached thumbnail as data URL (e.g., "data:image/svg+xml;base64,..." or "data:image/png;base64,..."). * Used for geometry models and other items that can have visual previews. * Generated in background worker and displayed in ProjectItemList. */ cachedThumbnail?: string; /** * Timestamp when the thumbnail was last generated. * Used to invalidate cache when file content changes. */ thumbnailGeneratedAt?: number; /** * Path to another project item whose thumbnail should be used for this item. * For example, entity behavior/resource files link to their geometry model's thumbnail. * This is set during relations processing based on item relationships. */ thumbnailLink?: string; }