@minecraft/creator-tools
Version:
Minecraft Creator Tools command line and libraries.
155 lines (154 loc) • 4.15 kB
TypeScript
/**
* ScriptModuleInfo - Minecraft Script API module information
*
* Contains version information, API documentation, and metadata for
* Minecraft Script API modules.
*/
/**
* Script module stability level
*/
export declare enum ModuleStability {
Stable = "stable",
Beta = "beta",
Internal = "internal"
}
/**
* Information about a script module
*/
export interface IScriptModuleInfo {
/** Module name (e.g., "@minecraft/server") */
name: string;
/** Latest stable version */
latestStableVersion: string;
/** Latest beta version */
latestBetaVersion: string;
/** Minimum supported Minecraft version */
minMinecraftVersion: string;
/** Short description */
description: string;
/** Stability level */
stability: ModuleStability;
/** NPM package name for type definitions */
typesPackage: string;
/** Documentation URL */
docsUrl: string;
}
/**
* Known Minecraft Script API modules
*/
export declare const SCRIPT_MODULES: IScriptModuleInfo[];
/**
* Utility class for script module information
*/
export declare class ScriptModuleInfoProvider {
private static moduleMap;
/**
* Get module map (lazy initialization)
*/
private static getModuleMap;
/**
* Get info for a specific module
*/
static getModuleInfo(moduleName: string): IScriptModuleInfo | undefined;
/**
* Gets the latest version for a Minecraft module.
* @param moduleName Module name (with or without @minecraft/ prefix)
* @param preferBeta If true, returns the latest beta version; otherwise returns stable
* @returns The version string, or undefined if module is not known
*/
static getLatestVersion(moduleName: string, preferBeta?: boolean): string | undefined;
/**
* Gets version info for a Minecraft module.
* @param moduleName Module name (with or without @minecraft/ prefix)
* @returns Version info object, or undefined if module is not known
*/
static getVersionInfo(moduleName: string): {
latestStableVersion: string;
latestBetaVersion: string;
minMinecraftVersion: string;
} | undefined;
/**
* Get all module names
*/
static getAllModuleNames(): string[];
/**
* Check if a module name is a valid Minecraft module
*/
static isMinecraftModule(moduleName: string): boolean;
/**
* Parse a module version from package.json dependency
*/
static parseModuleVersion(versionSpec: string): {
version: string;
isBeta: boolean;
};
/**
* Check if a module version is outdated
*/
static isVersionOutdated(moduleName: string, currentVersion: string): {
isOutdated: boolean;
latestVersion: string;
isBetaAvailable: boolean;
};
/**
* Compare two semver versions
* Returns: -1 if a < b, 0 if a == b, 1 if a > b
*/
static compareVersions(a: string, b: string): number;
/**
* Get recommended dependency entries for manifest.json
*/
static getRecommendedDependency(moduleName: string, useBeta?: boolean): {
module_name: string;
version: string;
} | null;
}
/**
* Common Script API types that need special handling
*/
export declare const COMMON_SCRIPT_TYPES: {
world: {
module: string;
description: string;
};
system: {
module: string;
description: string;
};
Entity: {
module: string;
description: string;
};
Player: {
module: string;
description: string;
};
Block: {
module: string;
description: string;
};
Dimension: {
module: string;
description: string;
};
ItemStack: {
module: string;
description: string;
};
Vector3: {
module: string;
description: string;
};
ActionFormData: {
module: string;
description: string;
};
MessageFormData: {
module: string;
description: string;
};
ModalFormData: {
module: string;
description: string;
};
};