Skip to content

区域命令

对于其他(与区域保护无关的)命令,请查阅“命令”章节。这些命令的权限在“权限”章节有详细介绍。

这其中的有些命令可能需要后台处理,并在一段时间之后返回结果。查看后台处理中的任务命令是 /wg running。对正在执行的任务和处理中的命令有硬性限制。

/region/rg 都可以用于执行命令。一些子命令有多个别名(例如,/rg d/rg define 的简写)。

提示

这里的大多数命令都可以从控制台使用,但是你也许需要(在必要的时候)指定 -w 参数。
你也可以使用由 WorldEdit 提供的 //world 来设置目标世界(游戏内和控制台中均可)。

区域的创建与删除

定义

/rg define [-w <世界名称>] [-g] <id> [<拥有者1>] [<拥有者2>] [... <拥有者N>]
/rg create (...)
/rg def (...)
/rg d (...)

以指定的命名创建一个新的区域,可选参数还可指定其拥有者。区域的范围是你使用 WorldEdit 的小木斧所圈定的选区。

区域的命名是大小写敏感的。每个世界的区域名称都不可重复。

  • -g 会创建一个不存在实际边界的全局区域(与真正的全局区域并不相同),它一般用于创建临时区域(见“优先级与继承”章节)

示例:创建一个新的“shop”区域,且“sk89q”和“wizjany”是该区域的拥有者

/rg define shop sk89q wizjany

删除

/rg removemember [-w <world>] [-a] <id> <members...>
/rg remmember (...)
/rg removemem (...)
/rg remmem (...)
/rg rm (...)

删除一个区域。

若指定的区域有子区域,那么必须指定 参数。这两个参数不能同时指定。

  • -u 表示将依赖该父区域的子区域强制断开关系,即设置为无继承关系;
  • -f 表示将父区域和依赖的子区域一并删除。

重定义

/rg redefine [-w <世界名称>] [-g]
/rg update (...)
/rg move (...)

修改已存在区域的物理边界,例如将其替换为你当前圈定的 WorldEdit 选区。

  • -g 会创建一个不存在实际边界的全局区域(与真正的全局区域并不相同),它一般用于创建临时区域(见“优先级与继承”章节)

认领

/rg claim <区域命名>

认领一个区域,用于玩家创建的区域的自助功能。更多信息请见“认领”章节。

归属关系编辑

添加成员

/rg addmember [-w <世界名称>] <区域命名> <区域成员...>
/rg addmem (...)
/rg am (...)

将任意成员添加至区域。使用 g:<权限组> 可将指定权限组而不是单个玩家添加为成员。

示例:将“builder”组和玩家“sk89q”设置为“lobby”世界的“spawn”区域成员

/rg addmember -w lobby spawn g:builder sk89q

添加拥有者

/rg addowner [-w <世界名称>] <区域命名> <区域拥有者...>
/rg ao (...)

将任意数量的成员添加至一个区域。使用参数 g:<权限组名称> 将会把一整个权限组添加至区域中。

示例:将“admin”组和玩家“eduardo”设置为“lobby”世界的“spawn”区域拥有者

/rg addowner -w lobby spawn g:admins eduardo

移除成员

/rg removemember [-w <世界名称>] [-a] <区域命名> <区域成员...>
/rg remmember (...)
/rg remmem (...)
/rg rm (...)

将任意数量的成员从区域中移除。与添加命令相同,参数 g:<权限组名称> 可以用于指定一整个权限组。

  • -a 参数将会把区域内所有的成员移除,且无视命令末尾的 <区域成员...> 参数。

移除拥有者

/rg removeowner [-w <世界名称>] [-a] <区域命名> <区域拥有者...>
/rg remowner
/rg ro (...)

移除该区域内任意数量的拥有者。与上文的添加命令相同,使用参数 g:<权限组> 来指定权限组。

  • -a 将会将该区域的所有拥有者都清除,并无视后方的 <区域拥有者...> 参数。

获取信息

选择

/rg select [-w <世界名称>] [<区域命名>]
/rg sel (...)
/rg s (...)

将 WorldEdit 的选区替换为指定区域的选区。

选择

/rg info [-u] [-s] [-w <世界名称>] [<区域命名>]
/rg i (...)

显示指定区域的信息,如果不指定区域名称,则显示你当前所处位置的区域信息(如果有)。如果你在多个区域中,那么会显示一串列表。

  • -s 使得该命令会一并选中区域(见 /rg select 部分的介绍)
  • -u 会使得显示的信息中显示的是 UUID 而不是玩家名称。

示例:显示全局区域的相关信息

/rg info __global__

标志

/rg flags [-w <世界名称>] [-p <页码>] <区域命名>

分页显示区域所设置的标志。

自动设置的标志会以白色显示,从父区域继承的标志会以淡灰色显示,未设置的标志会以默认的灰色显示。

在标志的值上点击可以快速设置和撤销设置,下方的箭头按钮允许你翻页,而中间的页码则可以用于指向特定页。

列表

/rg list [-i <id search>] [-p <player>] [-w <world>] [<page>]

列出已经创建的区域。可提供数字用于翻到特定页。

如果玩家没有权限列出所有区域,但是有权限列出他们所拥有的区域(玩家为这些区域的成员),那么这条命令就只会列出玩家所拥有的区域。

  • -p <玩家名称> 可以用于指定成员或拥有者玩家的名称;
  • -i <搜索区域的关键词> 可以用于列出包含关键词的区域列表;
  • -s 可以只列出经由 WorldEdit 创建的选区所产生的区域(译者注:非全局区域等)。

示例:列出所有“sk89q”所属或所拥有的地皮

/rg list -p sk89q

区域设置选项

标志

/rg flag <区域名称> <标志名称> [-w <世界名称>] [-g <权限组>] [-e] [<值>]
/rg f (...)

为区域设置特定的标志(见“区域标志”章节获得更多信息)

若要取消设置指定标志的值,将值的参数留空即可。

若要将指定标志设定为空值,则需要使用 -e。这在设置诸如 greeting 等需要为空值的标志时很有用,以让其覆盖优先级更低、不同且更大的区域。如果指定了 -e 且设置了值,那么无论这个值是什么,它都会被忽略。

  • -g <区域组> 用于指定区域组(见“区域标志”章节);
  • -e 用于设置空白值。

示例:将“mall”区域的pvp标志对“非成员玩家”设置为“deny”

/rg flag mall pvp -g nonmembers deny

示例:取消“mall”区域设置的greeting标志值

/rg flag mall greeting

示例:将“mall”的gerrting标志的值设置为空白

/rg list -p sk89q

优先级

/rg setpriority [-w <世界名称>] <区域命名> <优先级值>
/rg priority (...)
/rg pri (...)

为区域设置优先级。见“优先级与继承”章节来获得更多描述。 区域的默认优先级为 0。

设置父区域

/rg setparent [-w <世界名称>] <区域命名> [<父区域名称>]
/rg parent (...)
/rg par (...)

为指定区域设置父区域。见“优先级与继承”章节来获取更多信息。

若要取消设置父区域的优先级,不填写指定父区域参数即可。

示例:将“plot1”的父区域设置为“mall”

/rg setparent plot1 mall

示例:去除“plot1”的父区域

/rg setparent plot1

杂项命令

传送

/rg teleport [-c] [-s] <区域命名>
/rg tp (...)

将你传送至区域内指定的 spawnlocation 位置。

  • -s 参数表示优先选择 spawn 标志;
  • -c 参数表示在两个标志都未设置的时候,将你传送至区域的物理中心。这需要你处于观察者模式。

管理命令

载入

/rg load [-w <世界名称>]
/rg reload (...)

重载并读取来自数据库或文件存储的区域数据。如果最近修改的区域数据是在游戏内进行的,这可能会造成数据丢失。

载入操作一般需要后台执行,且这不会使服务器停滞。如果命令在前一次加载完成之前再次执行,新的载入操作会进入排队状态。这里对排队的操作有硬性的最大数量限制。

保存

/rg save [-w <世界名称>]
/rg write (...)

将区域数据保存至硬盘。

提示

区域数据会在每次改动之后自动保存,所以这个命令没有必要手动执行。

保存操作一般在后台执行,且不会使服务器停滞。如果命令在前一次保存完成之前再次执行,新的载入操作会进入排队状态。这里对排队的操作有硬性的最大数量限制。

数据库迁移

/rg migratedb <来源> <目标>

从指定种类的数据存储(见“数据存储”章节)转移至另一种存储方式上。

这两个参数的位置均接受下列参数:

  • yaml
  • mysql

迁移不会自动读取服务器——这必须在配置文本中完成。

警告

请确保在进行迁移操作前备份了文件。

警告

该操作不会在后台执行且有可能造成服务器卡顿。如果你的服务端核心设置了对宕机的检测,这可能会在服务器运行过程中使之崩溃并阻止数据迁移。若迁移过程被强行终止,你可能需要在进行下次迁移前清空整个目标数据存储对象。

UUID 迁移

/rg migrateuuid

将区域数据内的玩家名称转化为 Mojang 的 UUID 格式。

没有对应 UUID 的玩家名称会在转化过程中保留或删除,取决于你在配置文本中的设置(对应设置项为 keep-names-that-lack-uuids)。

警告

请确保在进行迁移操作前备份了文件。

警告

该操作不会在后台执行且有可能造成服务器卡顿。如果你的服务端核心设置了对宕机的检测,这可能会在服务器运行过程中使之崩溃并阻止数据迁移。若迁移过程被强行终止,你可能需要在进行下次迁移前清空整个目标数据存储对象。

迁移区域高度

/rg migrateheights [-w <世界名称>]

将存在当前或指定世界物理边界中垂直边界不大于 0 且不小于 255(例如,在 1.16 之前的所有区域)的区域转化为高版本的新世界高度限制格式。

该功能在从 1.17 迁移至 1.18 或之后的版本且你的区域中包含了在世界高度限制附近的区域时非常有用。需要注意的是,如果你在 1.18 之前的版本设置了超出世界范围的区域,那么在迁移后你仍需手动移动这些位置。

警告

请确保在进行迁移操作前备份了文件。

警告

该操作不会在后台执行且有可能造成服务器卡顿。如果你的服务端核心设置了对宕机的检测,这可能会在服务器运行过程中使之崩溃并阻止数据迁移。若迁移过程被强行终止,你可能需要在进行下次迁移前清空整个目标数据存储对象。