- 版权类型
- 原创
- 插件中文名称
- 区域属性联动插件
- 插件英文名称
- RegionAttribute
- 原帖地址
- #
- 支持的核心(服务端)
- Spigot
- Paper
- 语言支持
- 中文(简体)
- 前置组件
- AttributePlus 3.3.3.0+
- 适配版本(Java)
- 1.21
- 1.20
- 1.19
- 1.18
- 1.17
- 1.16
- 1.15
- 1.14
- 1.13
- 1.12
RegionAttribute —— 区域属性联动插件
RegionAttribute 是一款基于 TabooLib 6 开发的轻量级区域属性联动插件,依赖 AttributePlus (AP)。它允许服主在特定区域范围内为玩家叠加静态属性,或者将玩家面板上的某种特定属性(如“秘境攻击力”)按自定义倍率动态换算并叠加到另一种属性(如“物理伤害”)上,非常适合制作 RPG 副本、特定秘境、领地 Buff 或阵营战场地。
核心特性
- 多区域独立配置:支持创建无限个命名区域,每个区域拥有独立的坐标范围、直接属性加成与属性映射规则。
- 快捷选区工具:内置类似 WorldEdit 的小木斧圈地操作(左键选择点 1,右键选择点 2),轻松划定区域。
- 双重属性加成机制:
- 直接加成 (direct-attributes):进入区域后直接为玩家追加指定的 AP 属性行。
- 动态映射 (mappings):实时读取玩家 AP 面板中的“属性 B”,乘以设定倍率后动态叠加到“属性 A”上(计算公式:属性A += 属性B当前值 × 倍率)。
- 进出自动生效:默认每 10 tick 扫描一次玩家位置,进区自动通过 addSourceAttribute 挂载属性源,出区自动通过 takeSourceAttribute 移除,无残留属性。
运行环境与依赖
| 项目 | 要求版本 | 备注说明 |
| Minecraft | 1.20.4 | 其它版本理论可用,以 AttributePlus 兼容为准 |
| Java | Java 17 | 服务端运行环境 |
| 服务端核心 | Paper / Spigot | 建议使用主流 Spigot 分支核心 |
| 前置插件 | AttributePlus 3.3.3.0+ | 必须安装;TabooLib 6 运行库由插件自动引导加载,无需单独装 |
安装与快速上手
安装步骤- 确保服务器 plugins/ 目录下已安装 AttributePlus。
- 将压缩包内的 RegionAttribute-1.0.0.jar 放入 plugins/ 目录。
- 启动服务器,插件将自动生成 plugins/RegionAttribute/config.yml 和 regions.yml。(注:本发布包仅包含插件本体与说明文档,不包含源码及 AttributePlus 本体。)
- 在游戏内输入 /ra wand 获取选区小木斧(需 OP 或拥有 regionattribute.use 权限),左键点击方块设置 pos1,右键点击另一个方块设置 pos2。
- 输入 /ra create mystic 使用当前选区创建名为 mystic 的区域。
- 打开 plugins/RegionAttribute/regions.yml 配置该区域的 direct-attributes 和 mappings,保存后回到游戏输入 /ra reload 即可重载配置并刷新所有在线玩家属性。
命令与权限
主命令为 /regionattribute,可使用简写别名 /ra。| 命令 | 功能说明 |
| /ra wand | 发放选区小木斧 |
| /ra pos1 / /ra pos2 | 以当前站立点坐标作为 pos1 / pos2 |
| /ra create <名称> | 使用当前选区创建新区域 |
| /ra delete <名称> | 删除指定区域 |
| /ra list | 列出所有已创建的区域 |
| /ra info <名称> | 查看指定区域的详细配置信息 |
| /ra reload | 重载配置文件并刷新所有在线玩家的属性 |
| /ra refresh | 仅刷新属性(不重新读取配置文件) |
- regionattribute.use(默认 OP 拥有)
- regionattribute.wand
- regionattribute.admin
配置文件详解
config.ymlYAML
YAML:
check-interval-ticks: 10 # 扫描周期,20 tick = 1 秒
wand-material: WOODEN_AXE # 选区工具物品材质
source-prefix: RegionAttribute # AP 属性源前缀(完整 key = <前缀>-<区域名>)
regions.yml
YAML
YAML:
regions:
mystic:
world: world
pos1: {x: 0, y: 60, z: 0}
pos2: {x: 100, y: 120, z: 100}
# 进入区域直接追加的属性行(AP lore 格式,支持范围/加号)
direct-attributes:
- "物理伤害: 20-20"
- "移动速度: +0.05"
# 属性映射:读取玩家属性2的当前值,乘以倍率后叠加到属性1
# 例:玩家面板"秘境攻击力"=10,则进入区域后额外获得 10×1.0=10 点"物理伤害"
mappings:
- source: "秘境攻击力"
target: "物理伤害"
multiplier: 1.0
配置书写规范
- 属性名:必须填写 AttributePlus 已注册的属性名称(如中文显示名 物理伤害、物理防御、暴击几率,可在 AP 启动日志中查看完整列表),或使用 AP 的英文 key(如 attack、defense)。
- 字符串格式:严格遵循 AP format.yml 的正则规则,支持固定值("物理伤害: 15")、随机范围("物理伤害: 10-20")以及带符号写法("物理伤害: +10")。
实战场景举例:秘境副本专属属性
场景需求:服务器设计了一个专门的“秘境”副本,玩家可以通过收集秘境装备堆叠面板上的“秘境攻击力”属性。平时在主城该属性无效,但一旦进入秘境地图,该属性会按 1:1 的比例转化为实打实的“物理伤害”,同时进入秘境的所有玩家还会无条件额外获得 +10 物理伤害。配置写法 (regions.yml):
YAML
YAML:
regions:
secret_realm:
world: world
pos1: {x: -500, y: 0, z: -500}
pos2: {x: 500, y: 255, z: 500}
direct-attributes:
- "物理伤害: +10"
mappings:
- source: "秘境攻击力"
target: "物理伤害"
multiplier: 1.0
实际效果:玩家踏入该区域后,管理员使用 /attribute source <玩家> 即可查看到名为 RegionAttribute-secret_realm 的生效属性源;当玩家离开秘境范围后,该属性源会自动卸载消失