/xp 与 /experience
原文:Commands/xp;源修订:3567326。
增加、移除或查询玩家经验。Java 版中 /experience 是别名,所需权限等级为 2;基岩版所需权限等级为 1,且需要开启作弊。
语法
Java 版
增加或减少经验点数或等级:
experience add <targets> <amount> [levels|points]
xp add <targets> <amount> [levels|points]
增减经验点数时,会计入玩家的得分;增减等级时,不计入得分,并按比例调整当前经验条的经验点数,保持经验条进度不变。
设置经验点数或等级:
experience set <targets> <amount> [levels|points]
xp set <targets> <amount> [levels|points]
这不会改变玩家得分。设置点数时,不改变经验等级;若指定点数大于或等于玩家当前经验条的容量,该玩家的设置不生效。设置等级时,按比例调整当前经验条点数,保持进度不变。
查询经验等级或当前经验条中的经验点数:
experience query <targets> (levels|points)
xp query <targets> (levels|points)
基岩版
增加经验点数:
xp <amount: int> [player: target]
增加或减少经验等级,并按比例调整当前经验条点数,保持经验条进度不变:
xp <amount: int>L [player: target]
参数
amount(Java 版add,integer):给予玩家的经验点数或等级。负数表示移除经验;须为 -2147483648 至 2147483647(含端点)的 32 位整数。amount(Java 版set,integer):要设置的经验点数或等级,须为不小于 0 的 32 位整数。amount: int(基岩版):增加的经验点数或等级。末尾加L表示等级,负数表示扣除等级。须为 32 位整数;以点数表示时不得小于 0。targets(Java 版add、set,entity)/player: target(基岩版,CommandSelector<Player>):命令目标,可选择多个玩家。Java 版可使用玩家名称、UUID 或玩家目标选择器;基岩版可使用玩家名或玩家类型的选择器,省略时默认为命令执行者。targets(Java 版query,entity):查询目标,须为单个玩家,可使用玩家名称、UUID 或只选择一名玩家的目标选择器。
结果
命令不完整或任一参数指定不正确时无法解析。
Java 版中,目标无法解析为在线玩家时失败。set 模式中,若指定点数超出所有目标当前经验条容量,也会失败;各目标是否生效按用法部分的容量条件决定。
基岩版中,下列情形失败:
player: target不是玩家类型的目标选择器。- 目标无法解析为一个或多个在线玩家。
- 命令执行者不是玩家,却未指定
player: target。 - 按经验点数指定数量,但
amount: int小于 0。
其他情况成功。
输出
Java 版失败时成功次数、成功值、结果值均为 0;成功时成功次数和成功值为 1。query 的结果值为玩家经验点数或等级,add、set 的结果值为目标玩家数量。
基岩版失败时成功次数为 0,成功时为被给予或扣除经验的玩家数量。
示例
显示 Steve 的当前等级,仅 Java 版:
experience query Steve levels
给予自己 7 点经验:
xp 7
上式适用于基岩版;Java 版使用:
experience add @s 7
给予 Alice 3 个等级,基岩版和 Java 版分别为:
xp 3L Alice
xp add Alice 3 levels
原文“移除所有玩家的全部等级”示例依次给出基岩版写法和两种 Java 版写法,以下保留原命令:
xp -2147483648L @a
xp set @a 0
xp set @a 0 levels
外部链接
Microsoft Learn:/xp 命令(2024 年 8 月 1 日)。
来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。