yoni-mcscripts-lib
Version:
为 Minecraft Script API 中的部分接口创建了 wrapper,并提供简单的事件管理器和任务管理器,另附有一些便于代码编写的一些小工具。
286 lines (285 loc) • 10.2 kB
TypeScript
export declare class Config {
#private;
/**
* 根据指定的键获取一个 Config 对象。
* @param key - 配置键。
* @returns Config 对象或 null(如果未找到键)。
* @throws 如果配置键链接到的值不是 Config 对象,抛出 `TypeError`。
*/
getConfig(key: string): Config | null;
createConfig(key: string): Config;
/**
* 根据指定的键获取布尔值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为 false。
* @returns 键的布尔值。
*/
getBoolean(key: string, defaultValue?: boolean): boolean;
/**
* 根据指定的键获取 bigint 值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为 0。
* @returns 键的 bigint 值。
* @throws 如果不支持 bigint,则抛出 SyntaxError。
*/
getBigInt(key: string, defaultValue?: bigint): bigint;
/**
* 根据指定的键获取整数值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为 NaN。
* @returns 键的整数值。
*/
getInt(key: string, defaultValue?: number): number;
/**
* 根据指定的键获取浮点数值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为 NaN。
* @returns 键的浮点数值。
*/
getFloat(key: string, defaultValue?: number): number;
/**
* 根据指定的键获取数字值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为 NaN。
* @returns 键的数字值。
*/
getNumber(key: string, defaultValue?: number): number;
/**
* 根据指定的键获取字符串值。
* @param key - 配置键。
* @param defaultValue - 如果未找到键时的默认值。默认值为空字符串。
* @returns 键的字符串值。
*/
getString(key: string, defaultValue?: string): string;
/**
* 根据指定的键获取值。
* @param key - 配置键。
* @returns 键的值。
*/
get(key: string): ConfigValue;
/**
* 根据指定的键获取值。
* @param key - 配置键。
* @param defaultValue - 在指定的配置名没有配置时返回的默认值。
* @returns 键的值。
*/
get(key: string, defaultValue: any): ConfigValue | typeof defaultValue;
/**
* 设置指定键的 Config 对象。
* @param key - 配置键。
* @param config - 要设置的 Config 对象。
* @throws 如果提供的值不是 Config 对象,则抛出错误。
*/
setConfig(key: string, config: Config | ConfigMap): void;
/**
* 设置指定键的布尔值。
* @param key - 配置键。
* @param value - 要设置的布尔值。
*/
setBoolean(key: string, value: boolean): void;
/**
* 设置指定键的 bigint 值。
* @param key - 配置键。
* @param value - 要设置的 bigint 值。
* @throws 如果不支持 bigint,则抛出 SyntaxError。
* @throws 如果提供的值不是 bigint,则抛出 TypeError。
*/
setBigInt(key: string, value: bigint): void;
/**
* 设置指定键的整数值。
* @param key - 配置键。
* @param value - 要设置的整数值。
*/
setInt(key: string, value: number): void;
/**
* 设置指定键的浮点数值。
* @param key - 配置键。
* @param value - 要设置的浮点数值。
*/
setFloat(key: string, value: number): void;
/**
* 设置指定键的数字值。
* @param key - 配置键。
* @param value - 要设置的数字值。
*/
setNumber(key: string, value: number): void;
/**
* 设置指定键的字符串值。
* @param key - 配置键。
* @param value - 要设置的整数值。
*/
setString(key: string, value: string): void;
/**
* 设置指定键的值。
* @param key - 配置键。
* @param value - 要设置的值。
* @returns 配置的旧值。
*/
set(key: string, value: ConfigValue): ConfigValue;
/**
* 设置指定键的 Config 对象。
* @param key - 配置键。
* @param config - 要设置的 Config 对象。
* @returns 返回调用对象自身以允许链式调用。
* @throws 如果提供的值不是 Config 对象,则抛出错误。
*/
addConfig(key: string, config: Config | ConfigMap): Config;
/**
* 设置指定键的布尔值。
* @param key - 配置键。
* @param value - 要设置的布尔值。
* @returns 返回调用对象自身以允许链式调用。
*/
addBoolean(key: string, value: boolean): Config;
/**
* 设置指定键的 bigint 值。
* @param key - 配置键。
* @param value - 要设置的 bigint 值。
* @returns 返回调用对象自身以允许链式调用。
* @throws 如果不支持 bigint,则抛出 SyntaxError。
* @throws 如果提供的值不是 bigint,则抛出 TypeError。
*/
addBigInt(key: string, value: bigint): Config;
/**
* 设置指定键的整数值。
* @param key - 配置键。
* @param value - 要设置的整数值。
* @returns 返回调用对象自身以允许链式调用。
*/
addInt(key: string, value: number): Config;
/**
* 设置指定键的浮点数值。
* @param key - 配置键。
* @param value - 要设置的浮点数值。
* @returns 返回调用对象自身以允许链式调用。
*/
addFloat(key: string, value: number): Config;
/**
* 设置指定键的数字值。
* @param key - 配置键。
* @param value - 要设置的数字值。
* @returns 返回调用对象自身以允许链式调用。
*/
addNumber(key: string, value: number): Config;
/**
* 设置指定键的字符串值。
* @param key - 配置键。
* @param value - 要设置的整数值。
* @returns 返回调用对象自身以允许链式调用。
*/
addString(key: string, value: string): Config;
/**
* 设置指定键的值。
* @param key - 配置键。
* @param value - 要设置的值。
* @returns 返回调用对象自身以允许链式调用。
*/
add(key: string, value: ConfigValue): Config;
/**
* 检查指定的配置键是否为一个对象。
* @param key - 配置键。
*/
hasConfig(key: string): boolean;
/**
* 检查指定的配置键是否为一个布尔值。
* @param key - 配置键。
*/
hasBoolean(key: string): boolean;
/**
* 检查指定的配置键是否为一个 bigint 值。
* @param key - 配置键。
*/
hasBigInt(key: string): boolean;
/**
* 检查指定的配置键是否为一个整数值。
* @param key - 配置键。
*/
hasInt(key: string): boolean;
/**
* 检查指定的配置键是否为一个浮点数值。
* @param key - 配置键。
*/
hasFloat(key: string): boolean;
/**
* 检查指定的配置键是否为一个数字值(这包括 `NaN`、`Infinity` 以及它们的负数形式)。
* @param key - 配置键。
*/
hasNumber(key: string): boolean;
/**
* 检查指定的配置键是否为一个字符串值。
* @param key - 配置键。
*/
hasString(key: string): boolean;
/**
* 检查指定的配置键是否已经设置为某个值。
* @param key - 配置键。
*/
has(key: string): boolean;
/**
* 检查指定的配置键是否已经设置为 `null`。
* @param key - 配置键。
*/
isNull(key: string): boolean;
/**
* 从 ConfigMap 中删除配置键。
* @returns key - 指定配置键的值是否被移除。
*/
delete(key: string): boolean;
/**
* 从 JSON 反序列化得到其对象后,使用此对象作为 ConfigMap 创建新的 Config 对象。
* @param configJSON - 配置JSON。
*/
constructor(configJSON: string);
/**
* 创建新的 Config 对象,并读取 configMap 中的键值设定到新创建的对象中。
* @param configMap - 配置。
*/
constructor(configMap: Map<string, ConfigValue>);
constructor();
/**
* 克隆此 Config。
* @returns 新的 Config 对象。
*/
clone(): Config;
toJSON(): string;
onceConfigChanged(cb: ConfigChangeCallbackFunc): typeof cb;
onConfigChanged(cb: ConfigChangeCallbackFunc): typeof cb;
offConfigChanged(...cbs: ConfigChangeCallbackFunc[]): void;
static createConfigMapObject(): ConfigMap;
/**
* 创建新的 Config 对象,并从keyvaluemap中读取值,写入到新创建的Config对象当中。
* @param configMap - 配置存储对象。
* @returns 新创建的 Config 对象。
*/
static createFromMap(config: Map<string, ConfigValue>): Config;
/**
* 创建新的 Config 对象,并将configMap作为新创建的Cinfig对象的存储。
* @param configMap - 配置映射对象。
* @returns 新创建的 Config 对象。
*/
static createFromConfigMap(configMap: ConfigMap): Config;
/**
* 创建新的 Config对象,并从object中获取配置的值后写入新创建的Config对象当中。
*/
static createFromObject(object: ConfigMap): Config;
/**
* 读取配置键名为一个数组。
* @param key - 配置键。
* @returns 配置的键数组。
*/
static getConfigKeys(key: string): string[];
static isConfigMap(v: any): v is ConfigMap;
}
type ConfigChangeCallbackFunc = (key: string, newVal: ConfigValue, lastVal: ConfigValue, config: Config) => void;
/**
* 表示一个配置映射对象。
*/
export interface ConfigMap {
[key: string]: ConfigMap | PlainValue;
}
export type PlainValue = string | number | bigint | boolean | null;
/**
* 配置值的类型。
*/
export type ConfigValue = Config | PlainValue;
export {};