用来执行与真正的和平模式相关任务、随机事件,甚至随机建筑生成等功能的命令。大部分子命令都需要权限等级2级才可执行。
任务
/rpm mission receive <mission_id> [<show_dialog>]
/rpm mission receive <mission_id> [<npc>]
/rpm mission finish <mission_id> [<show_dialog>]
/rpm mission finish <mission_id> [<npc>]
参数说明
<mission_id> 参数表示了任务的 id。
<show_dialog> 参数指示了任务执行成功后,是否显示任务对话框,布尔型,可选,默认为 true。
<npc> 参数指示了任务执行成功后任务对话框中的 npc 实体,实体型,可选。
可以使用“/execute at <player> run ...”来改变作用的玩家,默认为命令执行者。
解释
前两条命令用于让玩家接收 ID 为 <mission_id> 任务,如果玩家没有接取过该任务,且前置任务全部完成,那么命令将会执行成功。
后两条命令用于让玩家完成 ID 为 <mission_id> 任务,如果玩家接取了该任务且没有完成,那么命令将会执行成功。
异常与流水线
如果任务执行成功,则返回 1。
如果没有指定实体(如服务端控制台中执行但没有通过 execute at 指定作用对象),则会报异常找不到玩家。
如果模组加载出现了更底层的错误,如 mixin 失效、被其它模组 asm 更改等,导致玩家无法与任务系统互动,则会报异常「执行命令失败:实体%s无法接收或完成任务。」(这种情况如果发生,请及时和开发者联系!)
如果 <mission_id> 表示的任务不存在,则会报异常「执行命令失败:不存在ID为“%s”的任务。」
如果玩家未完成前置任务,或已经接取或完成了任务,或是在没有接取任务的情况下试图完成该任务,则会报异常「执行命令失败:实体%s已经接收或完成了任务“%s”,或是其前置任务未完成。」
事件
/rpm event spawn <mission_id> [<player>]
解释
在玩家 <player> 附近生成一个 ID 为 <mission_id> 的随机事件。
参数说明
<mission_id> 参数表示了任务的 id。
<player> 参数表示了随机事件发生在哪位玩家身边,可选,默认为命令的执行者。
异常与流水线
如果任务执行成功,则返回 1。
如果没有指定玩家,且命令的执行者也不是玩家,则会报异常找不到玩家。
如果 <mission_id> 表示的随机事件不存在,则会报异常「执行命令失败:不存在ID为“%s”的随机事件。」
如果随机事件无法生成,如玩家周围没有空位,或玩家并未完成该怪物的主线任务,则会报异常「执行命令失败:无法生成随机事件“%s”在玩家“%s”附近。」
任务列表
/rpm mission list [all]
/rpm mission list hideEvents
/rpm mission list eventsOnly
解释
第一个命令将会显示所有任务名称、ID、以及命令执行者的完成情况。
第二个命令将会过滤掉所有随机事件。
第三个命令将会只显示随机事件。
任务完成情况包括:已禁用、未开始(已就绪但尚未接取)、未解锁(前置任务尚未完成)、进行中(已接取但未完成)、已完成。
特别的,这个命令的权限等级为1。
参数说明
可以使用“/execute at <player> run ...”来改变作用的玩家,默认为命令执行者。
异常与流水线
如果任务执行成功,则返回 1。
如果没有指定实体(如服务端控制台中执行但没有通过 execute at 指定作用对象),则会报异常找不到玩家。
配置
/rpm mission disable <mission_id>
/rpm mission enable <mission_id>
/rpm event disable <entity_type>
/rpm event enable <entity_type>
解释
分别禁用、启用一个任务,禁用、启用一个随机事件。
特别的,这个命令的权限等级为4。
参数说明
<mission_id> 参数表示了任务的 id。
<entity_type> 表示随机事件对应怪物的实体类型。
异常与流水线
如果任务执行成功,则返回 1。
如果即将被禁用的任务已被禁用,则会报异常「执行命令失败:任务“%s”已经禁用。」
如果即将被启用的任务未被禁用,则会报异常「执行命令失败:任务“%s”未被禁用。」
如果实体类型不存在,或没有对应的随机事件,则会报异常「执行命令失败:未知的怪物类型“%s”。」
随机建筑生成
/rpm generate <type> ...
目前支持生成的随机建筑如下:
随机迷宫
/rpm generate maze <direction> <length> <road_width> <wall_width> <wall_block> [<seed> [<start_position>]]
解释
在特定位置(<start_position> 或玩家位置)面向 <direction> 方向生成一个迷宫。生成后的迷宫是一个边长为 <length> 的正方形结构。
需要遵守的约束条件是:<length> = (<road_width> + <wall_width>) × N - <road_width>,N 为正整数。
例如,墙的厚度为 2,道路的宽度为 3,length为 17,那么将会生成一个边长为17的正方形迷宫,此时 N = 3:
而如果 length 设置为 13, 14, 15, 16, 18, 19, 20, 21 等,都会报异常。而 12 和 22 则不会,此时 N 分别为 2 和 4。
参数说明
<direction> 指示了迷宫的生成方向。
<length> 指示了迷宫的边长。
<road_width> 指示了迷宫内道路的宽度。
<wall_width> 指示了迷宫内墙壁的厚度。
<wall_block> 指示了迷宫内墙壁的组成方块。
<seed> 指示了生成迷宫的随机种子。相同的参数在使用了相同的种子后,可以生成相同的随机迷宫。
<start_position> 指示了迷宫的生成位置。
异常与流水线
如果任务执行成功,则返回 1。
如果没有指定迷宫的生成位置,且命令的执行者也不是玩家,则会报异常找不到玩家。
如果迷宫生成在未加载或边界以外的区块中,则会报异常指定位置未被加载或在世界之外。
如果 <direction> 非法(如填写 up 或 down),则会报异常「执行命令失败:非法的direction参数“%s”——只支持水平方向(x轴或z轴上的方向)。」
如果 <length> 非法(详见“解释”),则会报异常「执行命令失败:非法的length参数“%s”——需要是 N * (road_width + wall_width) + wall_width。无法根据road_width参数“%s”、wall_width参数“%s”推断整数N。」
资料分类: | 命令 |