Suite

概览

Regions 区域保护模块功能概览

Regions 区域保护

模块简介

Regions 是 Suite 的区域保护与管理模块,定位为 WorldGuard 替代方案。模块提供完整的选区工具、50+ 区域标志、三态标志系统(ALLOW / DENY / NONE)、优先级与父子继承、成员/拥有者权限管理、进出提示、世界规则限制以及 ArcartX UI 图形化管理面板,覆盖区域保护的全部核心场景。

模块提供高性能区域查询与选区/区域边框粒子可视化,并通过 EventBus 发布区域进出事件供其他模块联动。

属性值
模块 IDregions
版本1.4.4
配置文件config.yml
消息文件messages.yml
配置版本3
命令 IDregions
命令别名rg
外部依赖无(本体内置 API 即可运行)
软依赖Essentials 模块(飞行/交互绕过权限)
对外能力RegionQueryable(区域查询)、PlayerDataPurgeable、DatabaseMigratable

功能特性

特性说明
选区工具使用木斧左键设点 1、右键设点 2,粒子柱(红/绿)与选区边框(蓝)实时可视化
50+ 区域标志覆盖战斗、方块、环境、生物、玩家、杂项六大类别,共 50 个标志
三态标志每个标志支持 ALLOW / DENY / NONE 三态,NONE 表示未设置并继承父区域或全局
优先级系统区域可设置优先级,高优先级区域的标志覆盖低优先级区域
父子继承区域可设置父区域,未设置的标志从父区域继承,支持成环检测
全局区域__global__ 作为无任何区域覆盖时的保底规则
成员/拥有者支持玩家 UUID 和权限组(g: 前缀)两种成员类型,成员对方块/交互类标志豁免
进出提示进入/离开区域时通过 Actionbar / Chat / Title 三种方式显示通知,支持自定义 greeting/farewell 文本
世界规则按世界级别的限制(禁飞、禁活塞、禁交互物品),不依赖区域选区,运行时可 CRUD 并持久化
区域传送tp 命令传送到指定区域中心(最高方块上方)
区域重命名/重定义rename / redefine 支持区域改名和范围重新划定
粒子可视化选区粒子柱 + 选区边框 + 区域边框常驻粒子(/rg show 切换),按视距裁剪 + 节流
ArcartX UI玩家区域查看菜单(/rg menu)和管理员管理面板(/rg admin),全图形化交互
成员豁免方块破坏/放置/交互/容器/载具/丢弃/拾取/骑乘/睡觉等标志对区域成员自动豁免
管理员绕过拥有 axs.regions.bypass 权限的玩家跳过所有区域保护
高性能查询空间索引加速区域查询,大数量区域下依然快速
数据库迁移支持 /axs migrate,可在 SQLite 与 MySQL 之间迁移数据
玩家数据清理支持 /axs purge,可清理指定/全部玩家的选区与进出追踪数据

依赖

依赖类型名称必需说明
模块软依赖Essentials否module.yml 声明 softdepends: [essentials],提供飞行绕过(axs.essentials.fly.bypass)和交互绕过(axs.essentials.interact.bypass)权限节点
外部依赖无-无外部插件依赖
宿主配置存储否shared: true 时共享本体统一数据源

区域机制

区域属性

每个区域包含以下属性:

属性说明
区域 ID唯一标识符(不区分大小写),同一世界内唯一
世界区域所在世界
范围长方体选区(两点坐标自动归一化)
优先级数值越高越优先,默认 0
父区域可选;未设置的标志从父区域继承
所有者/成员玩家或权限组(g: 前缀),成员对方块/交互类标志豁免
标志各标志支持 ALLOW / DENY / NONE 三态
标志文本greeting/farewell 等自定义进出提示文本

标志判定规则

当玩家在某坐标执行操作时,按以下规则判定标志:

  1. 取该坐标的所有覆盖区域,按优先级从高到低逐个检查
  2. 区域自身设置了标志 → 采用其值(ALLOW/DENY)
  3. 区域未设置(NONE)→ 沿父区域链向上继承;父链全部未设置 → 检查下一个低优先级区域
  4. 所有区域均为 NONE → 无保护(允许操作)
  5. 玩家拥有 axs.regions.bypass 权限 → 一律允许
  6. 标志为 DENY 且属成员豁免类(破坏/放置/交互/容器/载具/丢弃/拾取/骑乘/睡觉)时,区域成员自动豁免

优先级与继承

机制说明
优先级同一坐标可被多个区域覆盖,高优先级区域的标志先被检查;若为 NONE 则继续检查低优先级区域
父子继承区域可设置父区域(须同世界),未设置的标志从父区域继承
成环检测设置父区域时自动检测继承环,若沿父链回到自身则拒绝设置
全局区域__global__ 作为保底区域,当无任何区域覆盖时使用其标志

选区

项说明
选区工具默认为木斧,可通过 selection.wand-item 配置
选区操作左键设点 1(红色粒子柱),右键设点 2(绿色粒子柱),两点必须同世界
体积限制选区体积上限默认 500000 方块,可通过 selection.max-volume 配置
数量限制每玩家最大区域数默认 20,0 表示无限,可通过 selection.max-regions-per-player 配置
绕过限制拥有 axs.regions.bypass.limit 权限的玩家不受数量限制
可视化选区完成后显示蓝色边框粒子

进出提示

玩家跨越区域边界时:

  • 离开旧区域:显示 farewell 自定义文本或默认离开消息(Actionbar/Chat/Title 可配置)
  • 进入新区域:若 ENTRY 标志为 DENY 则阻止进入并提示;否则显示 greeting 自定义文本或默认进入消息
  • 进出时发布 EventBus 事件供其他模块联动

世界规则

世界规则提供按世界级别的限制,独立于区域系统:

规则说明绕过权限
禁飞世界进入禁飞世界时取消飞行,阻止飞行切换axs.essentials.fly.bypass
禁活塞世界阻止活塞推动无
禁交互物品按世界配置禁止与指定物品/方块交互axs.essentials.interact.bypass

世界规则可通过管理员 UI 在线修改,修改自动保存。

相关页面

  • 配置 — 完整配置字段表与示例
  • 命令与占位符 — 命令、权限与 UI 数据包
  • 联动 — EventBus 事件、Capability 与跨模块联动

本页目录