UNPKG

@minecraft/creator-tools

Version:

Minecraft Creator Tools command line and libraries.

81 lines (80 loc) 3.07 kB
import IColor from "../core/IColor"; import { ProjectItemType } from "./IProjectItemData"; /** * Semantic category groups for project items. * These map to visual groupings in the UI item list. */ export declare enum ProjectItemTypeGroup { design = "design", scriptsLogic = "scriptsLogic", entityTypes = "entityTypes", itemTypes = "itemTypes", blockTypes = "blockTypes", worldWorldgen = "worldWorldgen", modelsAnimations = "modelsAnimations", texturesAudio = "texturesAudio", vibrantVisuals = "vibrantVisuals", uiUx = "uiUx", configDev = "configDev", packaging = "packaging", skinPersona = "skinPersona", meta = "meta", unknown = "unknown" } /** * Color palette for project item type groups. * Colors are inspired by Minecraft materials and items. */ export declare const ProjectItemTypeGroupColors: Record<ProjectItemTypeGroup, IColor>; /** * Maps each ProjectItemType to its semantic group. */ export declare function getProjectItemTypeGroup(itemType: ProjectItemType): ProjectItemTypeGroup; /** * Gets the semantic color for a project item type. */ export declare function getColorForProjectItemType(itemType: ProjectItemType): IColor; /** * Gets the hex color string for a project item type. */ export declare function getHexColorForProjectItemType(itemType: ProjectItemType): string; /** * Display order for groups in the UI item list. * Order: Design → Scripts → Entities → Items → Blocks → World → Models → Textures → VV → UI → Config → Packaging → Skins → Meta → Unknown */ export declare const ProjectItemTypeGroupSortOrder: ProjectItemTypeGroup[]; /** * Gets the sort order index for a project item type group. */ export declare function getGroupSortOrder(group: ProjectItemTypeGroup): number; /** * Gets the sort order for a project item type based on its group. */ export declare function getSortOrderForProjectItemType(itemType: ProjectItemType): number; /** * Display name for each group. */ export declare const ProjectItemTypeGroupNames: Record<ProjectItemTypeGroup, string>; /** * SVG path data for each project item type group icon. * Icons are designed on a 16x16 grid with a blocky Minecraft aesthetic. */ export declare const ProjectItemTypeGroupIcons: Record<ProjectItemTypeGroup, string>; /** * Gets the SVG icon path for a project item type group. */ export declare function getIconPathForGroup(group: ProjectItemTypeGroup): string; /** * Gets the SVG icon path for a project item type. */ export declare function getIconPathForProjectItemType(itemType: ProjectItemType): string; /** * Individual item type icons - more specific icons for commonly used types. * Falls back to group icon if not defined. */ export declare const ProjectItemTypeSpecificIcons: Partial<Record<ProjectItemType, string>>; /** * Gets the specific SVG icon path for a project item type. * Falls back to the group icon if no specific icon is defined. */ export declare function getSpecificIconPathForProjectItemType(itemType: ProjectItemType): string;