Suite

命令与占位符

Regions 命令、权限、PlaceholderAPI 占位符与 UI 数据包

命令与占位符

Regions 模块通过 /axs regions/rg(别名 /axsrg)两个命令入口提供全部区域管理功能。/rg 为独立注册的缩写命令,自动转发到 regions 子命令处理。

玩家命令

玩家命令通过 /axs regions/rg 执行,部分命令需要选区工具或区域权限。

命令说明权限
/rg help显示帮助信息
/rg status查看模块状态(已加载区域数、标志类型数)
/rg menu打开玩家区域查看菜单(ArcartX UI)
/rg wand获取选区工具axs.regions.select
/rg pos1设置选区点 1(当前站位)axs.regions.select
/rg pos2设置选区点 2(当前站位)axs.regions.select
/rg define <名称>用当前选区创建区域axs.regions.select
/rg redefine <名称>用当前选区重定义区域范围区域所有者或 axs.regions.admin
/rg remove <名称>删除区域区域所有者或 axs.regions.admin
/rg list [世界]列出区域(默认当前世界)
/rg info <名称>查看区域详细信息
/rg show切换区域边框常驻粒子可视化
/rg flag <区域> <标志> <allow|deny> [数据]设置区域标志区域所有者或 axs.regions.admin
/rg removeflag <区域> <标志>移除区域标志区域所有者或 axs.regions.admin
/rg flags <区域>查看区域所有标志
/rg addowner <区域> <玩家|g:组>添加所有者区域所有者或 axs.regions.admin
/rg removeowner <区域> <玩家|g:组>移除所有者区域所有者或 axs.regions.admin
/rg addmember <区域> <玩家|g:组>添加成员区域所有者或 axs.regions.admin
/rg removemember <区域> <玩家|g:组>移除成员区域所有者或 axs.regions.admin
/rg priority <区域> <数字>设置区域优先级区域所有者或 axs.regions.admin
/rg parent <区域> <父区域|none>设置父区域区域所有者或 axs.regions.admin
/rg tp <区域>传送到区域中心

命令详解

/rg define

用当前选区创建区域。创建者自动成为区域所有者。

/rg define <名称>
参数必填说明
名称区域 ID(不区分大小写),同世界内不可重复

校验流程:选区完成 → 体积不超限 → 名称不重复 → 数量不超限(axs.regions.bypass.limit 绕过)→ 创建并清除选区。

/rg flag

设置区域标志,支持附加数据(如 greeting/farewell 自定义文本)。

/rg flag <区域> <标志> <allow|deny> [数据...]
参数必填说明
区域区域 ID
标志标志 Key(如 pvpblock-breakgreeting
allow|deny标志状态(也接受 true/false/yes/no
数据附加文本数据(greeting/farewell 的自定义消息)

示例:

/rg flag spawn pvp deny
/rg flag spawn greeting allow &6欢迎来到出生点!
/rg flag spawn block-break deny

/rg addowner / /rg addmember

添加区域所有者或成员,支持玩家名和权限组(g: 前缀)。

/rg addowner <区域> <玩家|g:组名>
/rg addmember <区域> <玩家|g:组名>

示例:

/rg addowner spawn Steve
/rg addmember spawn g:vip

权限组通过 axs.regions.group.<name> 权限节点识别。玩家拥有该权限节点时被视为属于对应组,享受成员豁免。

/rg parent

设置区域父区域,父区域必须与当前区域同世界,模块自动检测继承环。

/rg parent <区域> <父区域|none>
参数必填说明
父区域父区域 ID,设为 none 移除父区域

/rg show

切换区域边框常驻粒子可视化。普通玩家仅看到自己拥有/参与的区域(黄色粒子),管理员(axs.regions.admin)可看到所有区域(紫色粒子)。按视距 48 方块半径裁剪,每 16 tick 刷新。

管理员命令

命令说明权限
/rg admin打开管理员区域管理面板(ArcartX UI)axs.regions.admin
/axs reload regions重载模块配置arcartxsuite.admin

管理员面板支持区域列表浏览、区域编辑(标志/成员/优先级/父区域)、区域创建/重定义/重命名/删除,以及世界规则管理(禁飞/禁活塞/禁交互的运行时切换)。

权限

权限节点默认说明
axs.regions.selectop使用选区工具(左/右键选区、/rg wand
axs.regions.adminop管理员权限,可管理任意区域、打开管理员面板
axs.regions.bypassop绕过所有区域保护(标志查询直接返回 ALLOW)
axs.regions.bypass.limitop绕过每玩家最大区域数量限制
axs.regions.group.<name>-区域权限组,玩家拥有此节点时属于对应组,享受成员豁免
axs.essentials.fly.bypassop绕过世界规则禁飞限制
axs.essentials.interact.bypassop绕过世界规则禁交互限制

axs.regions.bypass 是全局保护绕过——拥有此权限的玩家在任何区域都不受标志限制。axs.regions.bypass.limit 仅绕过区域数量限制,不影响保护逻辑。

PlaceholderAPI 占位符

Regions 模块当前 未注册 PlaceholderAPI 占位符。区域数据通过 ArcartX UI 面板和命令交互获取。

如需在其他插件中获取区域信息,可通过以下方式:

方式说明
EventBus 事件监听 axs.regions.region_change 事件获取玩家进出区域信息
命令输出/rg info <区域> 获取区域详情
UI 面板/rg menu 查看当前区域与个人区域列表

UI 数据包

Regions 模块注册了两个 ArcartX UI 界面,通过 Packet Handler 实现客户端与服务端的数据交互。

玩家菜单(AXS_REGIONS_MENU)

属性
UI 文件ui/regions_menu.yml
打开命令/rg menu
Packet IDAXS_REGIONS_MENU
UI IDAXS:regions_menu

客户端 → 服务端动作

动作参数说明
navigatepagecurrent / my / selection导航到指定页面
refreshpage刷新当前页面数据
select_regionregionId查看指定区域详情
clear_selection-清除当前选区
query_selection-查询当前选区状态

服务端 → 客户端推送字段

current 页面(当前区域):

字段类型说明
pageString当前页面标识
packetIdString服务端回包 ID
currentRegionString当前所在区域名称
currentWorldString当前世界名称
currentPriorityString当前区域优先级
currentOwnersString当前区域所有者数量
currentMembersString当前区域成员数量
currentFlagsList<Map>当前区域标志列表(namedescstate
myRegionsList<Map>玩家拥有/参与的区域列表(idworldpriorityisOwner
myRegionCountString玩家区域数量

detail 页面(区域详情):

字段类型说明
pageStringdetail
regionIdString区域 ID
regionWorldString区域所在世界
regionPriorityString区域优先级
regionMinString区域最小坐标
regionMaxString区域最大坐标
regionVolumeString区域体积(方块数)
regionParentString父区域 ID
flagsList<Map>标志列表(namedescstate
ownersList<String>所有者名称列表
membersList<String>成员名称列表

selection 页面(选区状态):

字段类型说明
pageStringselection
selWorldString选区所在世界
pos1SetString选区点 1 是否设置(true/false
pos2SetString选区点 2 是否设置
pos1String选区点 1 坐标文本
pos2String选区点 2 坐标文本
selCompleteString选区是否完成
selVolumeString选区体积
maxVolumeString最大选区体积

管理员面板(AXS_REGIONS_ADMIN)

属性
UI 文件ui/regions_admin.yml
打开命令/rg admin
Packet IDAXS_REGIONS_ADMIN
UI IDAXS:regions_admin
权限axs.regions.admin

客户端 → 服务端动作

动作参数说明
navigatepageregions / edit / world_rules导航到指定页面
refreshpage刷新当前页面数据
select_regionregionId选中区域进入编辑页
create_regionregionName用当前选区创建区域
redefine_regionregionId用当前选区重定义区域范围
rename_regionoldIdnewId重命名区域
set_flagregionIdflagKeystate设置区域标志
remove_flagregionIdflagKey移除区域标志
add_memberregionIdplayerNamerole添加成员(owner/member
remove_memberregionIduuid移除成员
set_priorityregionIdpriority设置优先级
set_parentregionIdparentId设置父区域(空或 none 移除)
delete_regionregionId删除区域
select_world_rule-导航到世界规则页
toggle_no_flyworldName切换世界禁飞状态
toggle_no_pistonworldName切换世界禁活塞状态
toggle_interactionworldNamematerialName切换世界禁交互物品

服务端 → 客户端推送字段

regions 页面(区域列表):

字段类型说明
pageStringregions
regionsList<Map>所有区域列表(idworldpriorityvolume
regionCountString区域总数

edit 页面(区域编辑):

字段类型说明
pageStringedit
selIdString选中区域 ID
selWorldString区域所在世界
selPriorityString区域优先级
selParentString父区域 ID
selMinString区域最小坐标
selMaxString区域最大坐标
selVolumeString区域体积
selFlagsList<Map>全部标志列表(keydesccategorystate
selMembersList<Map>成员列表(uuidnamerole

world_rules 页面(世界规则):

字段类型说明
pageStringworld_rules
worldsList<Map>世界列表(namenoFlynoPistoninteractions
worldCountString世界数量

UI 数据包通过 PacketBridgeAPI 发送,PacketGuardAPI 在路由层统一进行安全校验。客户端通过 Packet.send(packetId, data) 发送操作指令,服务端处理后通过 init 通道推送最新数据。