UNPKG

mdkjs

Version:

mdk is a framework for developing Datapacks for Minecraft. It uses the typescript language.

98 lines (97 loc) 2.75 kB
import { Location } from "../lib/index"; import { ScoreRange, GameMode, EntityId, Entity } from 'mdk-nbt'; import { Objective } from "../../../mdk-command/src"; import { SingleArrayResult, LiteralUnion } from "../tools/typings"; export declare function selector(): Selector; export declare function selector(name: string): Selector; export declare function selector(selector: SelectorProps): Selector; /** * 选择器 */ export declare class Selector { #private; constructor(selector?: SelectorProps | string); get objective(): Objective; get props(): SelectorProps; private arrayHandle; private scopeHandle; private rangeHandle; private mapRangeHandle; private normalHandle; private mapHandle; private handle; /** * 选择一个objective */ select(objective: string): Objective; exacted(): void; unexacted(): void; /** * 格式化选择器 * @param objectived 是否启用objective */ toString(objectived?: boolean): string; } export interface SelectorProps { /** 目标选择器 */ target?: TargetSelector; /** 坐标 */ location?: Location; /** 体积尺寸 */ range?: Range; /** 顺序 */ sort?: SingleArrayResult<SortType>; /** 数量 */ limit?: number; /** 距离 */ distance?: ScoreRange; /** 经验等级 */ level?: ScoreRange; /** 垂直旋转角度 */ x_rotation?: ScoreRange; /** 水平旋转角度 */ y_rotation?: ScoreRange; /** 记分板标签 */ tag?: SingleArrayResult<string>; /** 队伍名称 */ team?: SingleArrayResult<string>; /** 游戏模式 */ gamemode?: SingleArrayResult<GameMode>; /** 实体名称 */ name?: SingleArrayResult<string>; /** 实体类型 */ type?: SingleArrayResult<LiteralUnion<EntityId, string>>; /** 谓词 */ predicate?: string; /** nbt数据标签 */ nbt?: Entity; /** 分数 */ scores?: { [name: string]: ScoreRange; }; /** 进度 */ advancements?: string; } interface Range { dx: number; dy: number; dz: number; } /** * @param random 随机排序 * @param nearest 将目标由近到远排序 * @param furthest 将目标由远到近排序 * @param arbitrary 不进行排序 * */ declare type SortType = 'nearest' | 'furthest' | 'random' | 'arbitrary' | '!nearest' | '!furthest' | '!random' | '!arbitrary'; /** * 目标选择器 * '@p' 最近的玩家, * '@r' 随机玩家, * '@a' 所有的玩家, * '@e' 所有实体, * '@s' 执行者自身, */ declare type TargetSelector = '@p' | '@r' | '@a' | '@e' | '@s'; export {};