@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
81 lines (80 loc) • 3.07 kB
TypeScript
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;