@levimc-lse/types
Version:
TypeScript declaration files for the Legacy Script Engine.
1,218 lines (1,026 loc) • 32.3 kB
TypeScript
/// <reference path="../index.d.ts" />
declare enum sendTextType {
raw = 0,
chat = 1,
popup = 4,
tip = 5,
json = 9,
}
/** 玩家 */
declare class Player {
/** 玩家名 */
readonly name: string
/** 玩家所在坐标 */
readonly pos: FloatPos
/** 玩家所在的方块坐标 */
readonly blockPos: IntPos
/** 玩家腿部所在坐标 */
readonly feetPos: FloatPos
/** 玩家上次死亡的坐标 */
readonly lastDeathPos: IntPos
/** 玩家的真实名字 */
readonly realName: string
/** 玩家Xuid字符串 */
readonly xuid: string
/** 玩家Uuid字符串 */
readonly uuid: string
/** 玩家的操作权限等级(0 - 4) */
readonly permLevel: number
/** 玩家的游戏模式(0 - 3) */
readonly gameMode: number
/** 玩家是否可以飞行 */
readonly canFly: boolean
/** 玩家是否可以睡觉 */
readonly canSleep: boolean
/** 玩家是否可以在地图上看到 */
readonly canBeSeenOnMap: boolean
/** 玩家是否可以冻结 */
readonly canFreeze: boolean
/** 玩家是否能看到日光 */
readonly canSeeDaylight: boolean
/** 玩家是否可以显示姓名标签 */
readonly canShowNameTag: boolean
/** 玩家是否可以开始在床上睡觉 */
readonly canStartSleepInBed: boolean
/** 玩家是否可以拾取物品 */
readonly canPickupItems: boolean
/** 玩家最大生命值 */
readonly maxHealth: number
/** 玩家当前生命值 */
readonly health: number
/** 玩家当前是否悬空 */
readonly inAir: boolean
/** 玩家当前是否在水中 */
readonly inWater: boolean
/** 玩家是否在熔岩中 */
readonly inLava: boolean
/** 玩家是否下雨 */
readonly inRain: boolean
/** 玩家是否在雪中 */
readonly inSnow: boolean
/** 玩家是否在墙上 */
readonly inWall: boolean
/** 玩家是否在水中或雨中 */
readonly inWaterOrRain: boolean
/** 玩家是否在世界 */
readonly inWorld: boolean
/** 玩家是否在云端 */
readonly inClouds: boolean
/** 玩家当前是否正在潜行 */
readonly isSneaking: boolean
/** @deprecated 玩家当前是否正在潜行 */
readonly sneaking: boolean
/** 玩家当前速度 */
readonly speed: number
/** 玩家当前朝向 */
readonly direction: DirectionAngle
/** 玩家(实体的)唯一标识符 */
readonly uniqueId: string
/** 玩家设置的语言的标识符(形如zh_CN) */
readonly langCode: string
/** 玩家是否正在加载 */
readonly isLoading: boolean
/** 玩家是否隐身中 */
readonly isInvisible: boolean
/** 玩家在传送门中 */
readonly isInsidePortal: boolean
/** 玩家是否受伤 */
readonly isHurt: boolean
/** 未知 */
readonly isTrusting: boolean
/** 玩家是否在能造成伤害的方块上 */
readonly isTouchingDamageBlock: boolean
/** 玩家是否饿了 */
readonly isHungry: boolean
/** 玩家是否着火 */
readonly isOnFire: boolean
/** 玩家是否在地上 */
readonly isOnGround: boolean
/** 玩家是否在高温方块上(岩浆等) */
readonly isOnHotBlock: boolean
/** 玩家在交易 */
readonly isTrading: boolean
/** 玩家是否是冒险模式 */
readonly isAdventure: boolean
/** 玩家在滑行 */
readonly isGliding: boolean
/** 玩家是否是生存模式 */
readonly isSurvival: boolean
/** 玩家是否是观众模式 */
readonly isSpectator: boolean
/** 玩家是否在骑行 */
readonly isRiding: boolean
/** 玩家在跳舞? */
readonly isDancing: boolean
/** 玩家是否是创造模式 */
readonly isCreative: boolean
/** 玩家是否在飞行 */
readonly isFlying: boolean
/** 玩家是否正在睡觉 */
readonly isSleeping: boolean
/** 玩家是否移动 */
readonly isMoving: boolean
/** @deprecated 玩家设备IP地址 */
readonly ip: string
/**
* 判断玩家是否为OP
* @returns boolean 玩家是否为OP
*/
isOP(): boolean
/**
* 断开玩家连接
* @param msg 被踢出玩家出显示的断开原因。
* @returns boolean 是否成功断开连接
*/
kick(msg?: string): boolean
/**
* 发送一个文本消息给玩家
* @param msg 待发送的文本
* @param type (可选参数)发送的文本消息类型,默认为0
* @returns boolean 是否成功发送
*/
tell(msg: string, type?: sendTextType | number): boolean
/**
* 发送一个文本消息给玩家
* @param msg 待发送的文本
* @param type (可选参数)发送的文本消息类型,默认为0
* @returns boolean 是否成功发送
*/
sendText(msg: string, type?: sendTextType | number): boolean
/**
* 断开玩家连接
* @param msg 被踢出玩家出显示的断开原因。
* @returns boolean 是否成功断开连接
*/
disconnect(msg?: string): boolean
/**
* 在屏幕上方显示消息(类似于成就完成)
* @param title 待发送的标题
* @param message 待发送的文本
* @returns boolean 是否成功发送
*/
sendToast(title: string, message: string): boolean
/**
* 以某个玩家身份执行一条命令
* @param cmd 待执行的命令
* @returns boolean 是否执行成功
*/
runcmd(cmd: string): boolean
/**
* 以某个玩家身份说话
* @param text 模拟说话内容
* @returns boolean 是否执行成功
*/
talkAs(text: string): boolean
/**
* 以某个玩家身份向某玩家说话
* @param target 模拟说话对象
* @param text 模拟说话内容
* @returns boolean 是否执行成功
*/
talkAs(target: Player, text: string): boolean
/**
* ### 获取实体到坐标的距离
* @param pos 目标位置
* @returns 到坐标的距离(方块)
*/
distanceToSqr(pos: Entity | Player | IntPos | FloatPos): number
/**
* ### 获取实体到坐标的距离
* @param pos 目标位置
* @returns 到坐标的距离(方块)
*/
distanceTo(pos: Entity | Player | IntPos | FloatPos): number
/**
* 传送玩家至指定位置
* @param pos 目标位置坐标 (或者使用x, y, z, dimid来确定玩家位置)
* @param rot 送后玩家的朝向,若缺省则与传送前朝向相同
*
* @returns boolean 是否成功传送
*/
teleport(pos: IntPos | FloatPos, rot?: DirectionAngle): boolean
/**
* 传送玩家至指定位置
* @param pos 目标位置坐标 (或者使用x, y, z, dimid来确定玩家位置)
* @param rot 送后玩家的朝向,若缺省则与传送前朝向相同
*
* @returns boolean 是否成功传送
*/
teleport(
x: number,
y: number,
z: number,
dimid: 0 | 1 | 2,
rot?: DirectionAngle,
): boolean
/**
* 杀死玩家
* @returns 是否成功执行
*/
kill(): boolean
/**
* 对玩家造成伤害
* @param damage 对玩家造成的伤害数值
* @returns boolean 是否造成伤害
*/
hurt(damage: number): boolean
/**
* 治疗玩家
* @param health 治疗的心数
* @returns boolean 治疗是否成功
*/
heal(health: number): boolean
/**
* 设置玩家的生命值
* @param health 生命值数
* @returns boolean 是否成功
*/
setHealth(health: number): boolean
/**
* 设置玩家最大生命值
* @param health 生命值数
* @returns boolean 是否成功
*/
setMaxHealth(health: number): boolean
/**
* 设置玩家饥饿值
* @param hunger 饥饿值数
* @returns boolean 是否成功
*/
setHungry(hunger: number): boolean
/**
* 使指定玩家着火
* @param time 着火时长,单位秒
* @param isEffect 会不会有火的效果
* @returns boolean 是否成功
*/
setFire(time: number, isEffect: boolean): boolean
/**
* 熄灭玩家
* @returns boolean 是否已被熄灭
*/
stopFire(): boolean
/**
* 重命名玩家
* @param newName 玩家新名字
* @returns boolean 是否重命名成功
*/
rename(newName: string): boolean
/**
* 获取玩家当前站立所在的方块
* @returns Block 当前站立在的方块对象
*/
getBlockStandingOn(): Block
/**
* 获取玩家对应的设备信息对象
* @returns Device 玩家对应的设备信息对象
*/
getDevice(): Device
/**
* 获取玩家主手中的物品对象
* @returns Item 玩家主手中的物品对象
* @tips 此处获取的物品对象为引用。也就是说,修改此处返回的物品对象,或使用其API,就相当于直接操作玩家主手中对应的物品
*/
getHand(): Item
/**
* 获取玩家副手中的物品对象
* @returns Item 玩家副手中的物品对象
* @tips 此处获取的物品对象为引用。也就是说,修改此处返回的物品对象,或使用其API,就相当于直接操作玩家副手中对应的物品
*/
getOffHand(): Item
/**
* 获取玩家物品栏的容器对象
* @returns Container 玩家物品栏对应的容器对象
*/
getInventory(): Container
/**
* 获取玩家盔甲栏的容器对象
* @returns Container 玩家盔甲栏对应的容器对象
*/
getArmor(): Container
/**
* 获取玩家末影箱的容器对象
* @returns Container 玩家末影箱对应的容器对象
*/
getEnderChest(): Container
/**
* 获取玩家的重生坐标
* @returns IntPos 重生点坐标
*/
getRespawnPosition(): IntPos
/**
* 给予玩家一个物品
*
* 如果玩家物品栏已满,将抛出多余物品
*
* @param item 给予的物品对象
* @param amount 给予物品对象的数量,物品对象自身的 `Count` 属性将被忽略
* @returns boolean 是否成功给予
*/
giveItem(item: Item, amount?: number): boolean
/**
* 清除玩家背包中所有指定类型的物品
* @param type 要清除的物品对象类型名
* @returns number 清除的物品个数
*/
clearItem(type: string): number
/**
* 清除玩家背包中所有指定类型的物品
* @param type 要清除的物品对象类型名
* @param amount 清除的物品个数
* @returns number 清除的物品个数
*/
clearItem(type: string, amount: number): number
/**
* 刷新玩家物品栏、盔甲栏
* @returns boolean 是否成功刷新
*/
refreshItems(): boolean
/**
* 刷新玩家加载的所有区块
* @returns boolean 是否成功刷新
*/
refreshChunks(): boolean
/**
* 修改玩家操作权限
* @param level 目标操作权限等级
* @returns boolean 是否成功修改
*/
setPermLevel(level: 0 | 1 | 4): boolean
/**
* 修改玩家游戏模式
* @param mode 目标游戏模式,0为生存模式,1为创造模式,2为极限模式
* @returns boolean 是否成功修改
*/
setGameMode(mode: number): boolean
/**
* 提高玩家经验等级
* @param count 要提高的经验等级
* @returns boolean 是否设置成功
*/
addLevel(count: number): boolean
/**
* 降低玩家经验等级
* @param count 要降低的经验等级
* @returns boolean 是否设置成功
*/
reduceLevel(count: number): boolean
/**
* 获取玩家经验等级
* @returns number 玩家的经验等级
*/
getLevel(): number
/**
* 设置玩家经验等级
* @param count 要设置的经验等级
* @returns boolean 是否设置成功
*/
setLevel(count: number): boolean
/**
* 重置玩家经验
* @returns boolean 是否设置成功
*/
resetLevel(): boolean
/**
* 获取玩家当前经验值
* @returns number 玩家当前经验值
*/
getCurrentExperience(): number
/**
* 设置玩家当前经验值
* @param count 要设置的经验值
* @returns boolean 是否设置成功
*/
setCurrentExperience(count: number): boolean
/**
* 获取玩家总经验值
* @returns number 玩家总经验
*/
getTotalExperience(): number
/**
* 设置玩家总经验值
* @param count 要设置的经验值
* @returns boolean 是否设置成功
*/
setTotalExperience(count: number): boolean
/**
* 提高玩家经验值
* @param count 要提高的经验值
* @returns boolean 是否设置成功
*/
addExperience(count: number): boolean
/**
* 降低玩家经验值
* @param count 要降低的经验值
* @returns boolean 是否设置成功
*/
reduceExperience(count: number): boolean
/**
* 获取玩家升级所需的经验值
* @returns number 玩家升级所需的经验值
*/
getXpNeededForNextLevel(): number
/**
* 传送玩家至指定服务器
* @param server 目标服务器IP / 域名
* @param port 目标服务器端口
* @returns boolean 是否成功传送
*/
transServer(server: string, port: number): boolean
/**
* 使玩家客户端崩溃
* @returns boolean 是否成功崩溃
*/
crash(): boolean
/**
* 设置玩家自定义侧边栏
* @param title 侧边栏标题
* @param data 侧边栏对象内容对象
* @param sortOrder (可选参数)侧边栏内容的排序顺序。`0`为按分数升序,`1`为按分数降序。默认值为`1`
* @returns boolean 是否成功设置
*/
setSidebar(
title: string,
data: Record<string, number>,
sortOrder?: sidebar | 0 | 1,
): boolean
/**
* 移除玩家自定义侧边栏
* @returns boolean 是否成功移除
*/
removeSidebar(): boolean
/**
* 设置玩家看到的自定义Boss血条
* @param uid 唯一标识符,不可冲突重复!一个uid对于一行bar
* @param title 自定义血条标题
* @param percent 血条中的血量百分比,有效范围为0~100。0为空血条,100为满
* @param colour 血条颜色(默认值为2(RED))
* @returns boolean 是否设置成功
*/
setBossBar(uid: number, title: string, percent: number, colour: number): boolean
/**
* 移除玩家的自定义的指定Boss血条
* @param uid 标识符,与setBossBar对应!
* @returns boolean 是否成功移除
*/
removeBossBar(uid: number): boolean
/**
* 获取在线玩家对应的NBT对象
* @returns NbtCompound 玩家的NBT对象
*/
getNbt(): NbtCompound
/**
* 写入在线玩家对应的NBT对象
* @param nbt NBT对象
* @returns boolean 是否成功写入
*/
setNbt(nbt: NbtCompound): boolean
/**
* 为玩家增加一个Tag
* @param tag 要增加的tag字符串
* @returns boolean 是否设置成功
*/
addTag(tag: string): boolean
/**
* 为玩家移除一个Tag
* @param tag 要移除的tag字符串
* @returns boolean 是否移除成功
*/
removeTag(tag: string): boolean
/**
* 检查玩家是否拥有某个Tag
* @param tag 要检查的tag字符串
* @returns boolean 是否拥有这个Tag
*/
hasTag(tag: string): boolean
/**
* 玩家所有的 tag 字符串列表
* @returns Array<String> 玩家所有的 tag 字符串列表
*/
getAllTags(): string[]
/**
* 获取玩家的Abilities能力列表(来自玩家NBT)
* @returns object<String,any> 玩家所有能力信息的键 - 值对列表对象
*/
getAbilities(): any
/**
* 获取玩家的Attributes属性列表(来自玩家NBT)
* @returns Array<Object> 玩家所有属性对象的数组
*/
getAttributes(): any[]
/**
* 设置伤害吸收属性
* @param value 新的值
* @returns 是否成功
*/
setAbsorption(value: number): boolean
/**
* 设置攻击伤害属性
* @param value 新的值
* @returns 是否成功
*/
setAttackDamage(value: number): boolean
/**
* 最大攻击伤害属性
* @param value 新的值
* @returns 是否成功
*/
setMaxAttackDamage(value: number): boolean
/**
* 设置跟随范围
* @param value 新的值
* @returns 是否成功
*/
setFollowRange(value: number): boolean
/**
* 设置击退抵抗属性
* @param value 新的值
* @returns 是否成功
*/
setKnockbackResistance(value: number): boolean
/**
* 设置幸运属性
* @param value 新的值
* @returns 是否成功
*/
setLuck(value: number): boolean
/**
* 设置移动速度属性
* @param value 新的值
* @returns 是否成功
*/
setMovementSpeed(value: number): boolean
/**
* 置水下移动速度属性
* @param value 新的值
* @returns 是否成功
*/
setUnderwaterMovementSpeed(value: number): boolean
/**
* 设置岩浆上移动速度属性
* @param value 新的值
* @returns 是否成功
*/
setLavaMovementSpeed(value: number): boolean
/**
* 获取玩家疾跑状态
* @returns boolean 玩家疾跑状态
*/
isSprinting(): boolean
/**
* 设置玩家疾跑状态
* @param sprinting 是否为疾跑状态
* @returns boolean 是否设置成功
*/
setSprinting(sprinting: boolean): boolean
/**
* 获取视线方向实体
* @param maxDistance 查找最大距离
* @returns Entity|null 视线方向实体,如果获取失败,返回 Null
*/
getEntityFromViewVector(maxDistance?: number): Entity | null
/**
* 获取视线方向方块
* @param includeLiquid 是否包含液态方块
* @param solidOnly 是否仅允许 Solid 类型的方块
* @param maxDistance 查找最大距离
* @param fullOnly 是否仅允许完整方块
* @returns Block|null 视线方向方块,如果获取失败,返回 Null
*/
getBlockFromViewVector(
includeLiquid?: boolean,
solidOnly?: boolean,
maxDistance?: number,
fullOnly?: boolean,
): Block | null
/**
* 向玩家发送数据包
* @param packet 数据包
*/
sendPacket(packet: Packet): boolean | null
/**
* 获取玩家所在群系ID
* @returns number 群系ID
*/
getBiomeId(): number
/**
* 获取玩家所在群系名称
* @returns string 群系名称
*/
getBiomeName(): string
/**
* 设置玩家Ability属性
* @param AbilityID Ability的ID
* @param value 是否开启
* @returns boolean 无作用
*/
setAbility(AbilityID: number, value: boolean): boolean
/**
* 判断是否为模拟玩家
* @returns boolean 是否是模拟玩家
*/
isSimulatedPlayer(): boolean
/**
* 储存玩家绑定数据
* @param name 要储存到绑定数据的名字
* @param data 你要储存的绑定数据,可以是`Null`
* @returns boolean 是否成功储存
*/
setExtraData(name: string, data: any): boolean
/**
* 获取玩家绑定数据
* @param name 要读取的绑定数据的名字
* @returns any|null 储存的绑定数据
*/
getExtraData(name: string): any | null
/**
* 删除玩家绑定数据
* @param name 要删除的绑定数据的名字
* @returns boolean 是否删除成功
*/
delExtraData(name: string): boolean
/**
* 获取在线玩家计分项的分数(方便函数)
* @param name 计分项名称
* @returns number 计分板上的数值
*/
getScore(name: string): number
/**
* 修改玩家计分项的分数(方便函数)
* @param name 计分项名称
* @param value 要设置的数值
* @returns boolean 是否设置成功
*/
setScore(name: string, value: number): boolean
/**
* 修改玩家计分项的分数(方便函数)
* @param name 计分项名称
* @param value 要增加的数值
* @returns boolean 是否设置成功
*/
addScore(name: string, value: number): boolean
/**
* 修改玩家计分项的分数(方便函数)
* @param name 计分项名称
* @param value 要设减少的数值
* @returns boolean 是否设置成功
*/
reduceScore(name: string, value: number): boolean
/**
* 玩家停止跟踪计分项(方便函数)
* @param name 计分项名称
* @returns boolean 是否移除成功
*/
deleteScore(name: string): boolean
/**
* 向玩家发送模式表单
* @param title 表单标题
* @param content 表单内容
* @param confirmButton 按钮1文本的字符串
* @param cancelButton 按钮2文本的字符串
* @param callback 玩家点击按钮之后被调用的回调函数。
* @returns number|null 发送的表单ID
*/
sendModalForm(
title: string,
content: string,
confirmButton: string,
cancelButton: string,
callback: (player: Player, result: boolean | null) => void,
): number | null
/**
* 向玩家发送普通表单
* @param title 表单标题
* @param content 表单内容
* @param buttons 各个按钮文本的字符串数组
* @param images 各个按钮对应的图片路径
* @param callback 玩家点击按钮之后被调用的回调函数。
*/
sendSimpleForm(
title: string,
content: string,
buttons: string[],
images: string[],
callback: (player: Player, id: number | null) => void,
): number | null
/**
* 向玩家发送自定义表单(Json格式)
* @param json 自定义表单json字符串
* @param callback 玩家提交表单之后被调用的回调函数。
*/
sendCustomForm(
json: string,
callback: (player: Player, data: any[] | null) => void,
): number | null
/**
* 发送 SimpleForm 表单
* @param fm 配置好的表单对象
* @param callback 玩家与表单元素互动之后被调用的回调函数。
*/
sendForm(
fm: SimpleForm,
callback: (player: Player, id: number | undefined) => void,
): number | null
/**
* 发送 CustomForm 表单
* @param fm 配置好的表单对象
* @param callback 玩家与表单元素互动之后被调用的回调函数。
*/
sendForm(
fm: CustomForm,
callback: (player: Player, data: (undefined | string | number | boolean)[] | undefined) => void,
): number | null
/**
* 函数已弃用
* @deprecated 函数已弃用 请使用 getInventory()
*/
getContainer(): Container
/**
* 缩放玩家
* @param scale 新的玩家体积 (整数)
* @returns boolean 是否缩放成功
*/
setScale(scale: number): boolean
/**
* 设置玩家显示标题
* @param content 欲设置标题内容
* @param type 设置的标题类型 默认为2
* @param fadeInTime 淡入时间,单位为 Tick ,默认为10
* @param stayTime 停留时间,单位为 Tick ,默认为70
* @param fadeOutTime 淡出时间,单位为 Tick,默认为20
* @returns 是否成功发送
*/
setTitle(
content: string,
type?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8,
fadeInTime?: number,
stayTime?: number,
fadeOutTime?: number,
): boolean
/**
* ### 获取玩家到坐标的距离
*
* @param pos 目标位置
*
* @returns 到坐标的距离(方块)
*
* @deprecated
*/
distanceToPos(pos: IntPos | FloatPos): number
/**
* 增加玩家的存款
* @param value 要增加的金额
* @returns 是否设置成功
*/
addMoney(value: number): boolean
/**
* 获取玩家全部药水效果
* @returns 玩家所有的药水效果id
*/
getAllEffects(): number[]
/**
* 为玩家添加一个药水效果
* @param id 药水效果的id
* @param tick 持续时间
* @param level 等级
* @param showParticles 是否显示粒子
* @returns 是否成功
*/
addEffect(id: number, tick: number, level: number, showParticles: boolean): boolean
/**
* 为玩家移除一个药水效果
* @param id 药水效果的id
* @returns 是否成功
*/
removeEffect(id: number): boolean
}
declare namespace mc {
/**
* 广播一个文本消息给所有玩家
* @param msg 待发送的文本
* @param type (可选参数)发送的文本消息类型,默认为0
* @returns boolean 是否成功发送
*/
function broadcast(msg: string, type?: sendTextType | number): boolean
/**
* 修改玩家的重生坐标
* @param pos 重生坐标(或者使用x, y, z, dimid来确定重生位置)
* @returns boolean 是否成功修改
*/
function setRespawnPosition(pos: IntPos): boolean
/**
* 修改玩家的重生坐标
* @param pos 重生坐标(或者使用x, y, z, dimid来确定重生位置)
* @returns boolean 是否成功修改
*/
function setRespawnPosition(
x: number,
y: number,
z: number,
dimId: 0 | 1 | 2,
): boolean
/**
* 创建一个模拟玩家
* @param name 模拟玩家名
* @param pos 生成生物的位置的坐标对象(或者使用x, y, z, dimid来确定生成位置)
* @returns SimulatedPlayer 模拟玩家对象
*/
function spawnSimulatedPlayer(name: string, pos: IntPos): SimulatedPlayer | null
/**
*
* @param name 模拟玩家名
* @param x x坐标
* @param y y坐标
* @param z z坐标
* @param dimId 维度Id
*/
function spawnSimulatedPlayer(
name: string,
x: number,
y: number,
z: number,
dimId: 0 | 1 | 2,
): SimulatedPlayer | null
/**
* 从现有玩家获取
* @param info 玩家的名字或者Xuid
* @returns Player 生成的玩家对象
*/
function getPlayer(info: string): Player
/**
* 获取所有在线玩家
* @returns Array<Player> 玩家对象的数组
*/
function getOnlinePlayers(): Player[]
/**
* 获取玩家对应的NBT对象
* @param uuid 玩家的UUID
* @returns 玩家的NBT对象
* **可获取离线玩家的nbt**
*/
function getPlayerNbt(uuid: string): NbtCompound
/**
* 写入玩家对应的NBT对象
* @param uuid 玩家的UUID
* @param nbt NBT对象
* @returns 是否成功写入
* **可操作离线玩家的nbt**
*/
function setPlayerNbt(uuid: string, nbt: NbtCompound): boolean
/**
* 覆盖玩家对应的NBT对象的特定NbtTag
* @param uuid 玩家的UUID
* @param nbt NBT对象
* @param tags 需要覆盖的NbtTag (String)
* @returns boolean 是否成功覆盖对应的Tag
*/
function setPlayerNbtTags(uuid: string, nbt: NbtCompound, tags: string[]): boolean
/**
* 从存档中删除玩家对应的NBT对象的全部内容
* @param uuid 玩家的UUID
* @returns boolean 是否删除成功
*/
function deletePlayerNbt(uuid: string): boolean
}
declare enum sidebar {
/** 降序 */
Descending = 1,
/** 升序 */
Ascending = 0,
}
declare class LLSE_Player extends Player {}
/**
* 模拟玩家
* @see [🏃♂️ 玩家对象](https://docs.litebds.com/zh-Hans/#/LLSEPluginDevelopment/GameAPI/Player?id=%e6%a8%a1%e6%8b%9f%e7%8e%a9%e5%ae%b6%ef%bc%88%e7%94%b1%e4%ba%8e%e4%b8%8e%e7%8e%a9%e5%ae%b6api%e9%87%8d%e5%90%88%e8%bf%87%e5%a4%9a%ef%bc%8c%e6%9c%aa%e7%94%9f%e6%88%90%e6%96%b0%e7%9a%84%e6%a8%a1%e6%8b%9f%e7%8e%a9%e5%ae%b6%e7%b1%bb%ef%bc%89)
* @see [mojang-gametest docs](https://docs.microsoft.com/zh-cn/minecraft/creator/scriptapi/mojang-gametest/simulatedplayer)
*/
declare class SimulatedPlayer extends Player {
/**
* 模拟攻击
* @param target (可选参数)攻击目标,默认为视线方向上的实体
* @returns boolean 是否成功模拟操作
*/
simulateAttack(target?: Entity): boolean
/**
* 模拟破坏
* @param target (可选参数)要破坏的方块的坐标或方块,默认为视线方向上的方块
* @param face (可选参数)从哪面破坏,
* @returns boolean 是否成功模拟操作
*/
simulateDestroy(target?: IntPos | Block, face?: number): boolean
/**
* 模拟重生
* @returns boolean 是否成功模拟操作
*/
simulateRespawn(): boolean
/**
* 模拟断开连接
* @returns boolean 是否成功模拟操作
*/
simulateDisconnect(): boolean
/**
* 模拟交互
* @param target (可选参数)模拟交互目标,默认为视线方向上的方块或实体
* @returns boolean 是否成功模拟操作
*/
simulateInteract(target?: Entity): boolean
/**
* 模拟交互
* @param target (可选参数)模拟交互目标,默认为视线方向上的方块或实体
* @param face (可选参数)模拟交互目标方块的面
* @returns boolean 是否成功模拟操作
*/
simulateInteract(target?: IntPos | Block, face?: number): boolean
/**
* 模拟跳跃
* @returns boolean 是否成功模拟操作
*/
simulateJump(): boolean
/**
* 模拟看向某方块或实体
* @param target 要看向的目标(实体|坐标|方块)
* @returns boolean 是否成功模拟操作
*/
simulateLookAt(target: Entity | IntPos | FloatPos | Block): boolean
/**
* 模拟设置身体角度
* @param rot 要设置的角度
* @returns boolean 是否成功模拟操作
*/
simulateSetBodyRotation(rot: number): boolean
/**
* 相对玩家坐标系移动
* @param pos 移动方向
* @param speed (可选参数)移动速度,默认为1
* @returns boolean 是否请求移动成功
*/
simulateLocalMove(pos: IntPos | FloatPos, speed?: number): boolean
/**
* 相对世界坐标系移动
* @param pos 移动方向
* @param speed (可选参数)移动速度,默认为1
* @returns boolean 是否请求移动成功
*/
simulateWorldMove(pos: IntPos | FloatPos, speed?: number): boolean
/**
* 直线移动到坐标
* @param pos 移动方向
* @param speed (可选参数)移动速度,默认为1
* @returns boolean 是否请求移动成功
* **注:如需自动寻路,请考虑使用 模拟导航移动{@linkcode simulateNavigateTo}**
*/
simulateMoveTo(pos: IntPos | FloatPos, speed?: number): boolean
/**
* 模拟导航移动
* @param target 导航目标
* @param speed (可选参数)移动速度,默认为1
* @returns Object 是否能到达指定位置以及导航路径
*/
simulateNavigateTo(
target: Entity | IntPos | FloatPos,
speed?: number,
): {
isFullPath: boolean
path: number[][]
}
/**
* 模拟导航移动(多目标)
* @param target 导航目标
* @param speed (可选参数)移动速度,默认为1
* @returns boolean 是否成功模拟操作
*/
simulateNavigateTo(target: IntPos[] | FloatPos[], speed?: number): boolean
/**
* 模拟使用物品
* @param target (可选参数)要使用的物品(或物品所在的槽),默认为选中物品
* @param pos (可选参数)目标坐标,默认为朝向方块坐标
* @param face (可选参数)目标方块的面,默认为0
* @param relative (可选参数)相对方块偏移坐标,默认为{0.5,0.5,0.5}
*/
simulateUseItem(
target?: Item | number,
pos?: IntPos,
face?: number,
relative?: FloatPos,
): boolean
/**
* 模拟停止破坏方块
* @returns boolean 是否成功模拟操作
*/
simulateStopDestroyingBlock(): boolean
/**
* 模拟停止交互
* @returns boolean 是否成功模拟操作
*/
simulateStopInteracting(): boolean
/**
* 模拟停止移动
* @returns boolean 是否成功模拟操作
*/
simulateStopMoving(): boolean
/**
* 模拟停止使用物品
* @returns boolean 是否成功模拟操作
*/
simulateStopUsingItem(): boolean
}