[RPG/属性] RegionAttribute —— 区域属性联动 | 特定区域固定属性加成 & 属性动态倍率转化 [1.12-1.21理论全版本]

原创 世界管理 [RPG/属性] RegionAttribute —— 区域属性联动 | 特定区域固定属性加成 & 属性动态倍率转化 [1.12-1.21理论全版本] 2026-11-03

请登录后获取
版权类型
原创
插件中文名称
区域属性联动插件
插件英文名称
RegionAttribute
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
语言支持
中文(简体)
前置组件
AttributePlus 3.3.3.0+
适配版本(Java)
  1. 1.21
  2. 1.20
  3. 1.19
  4. 1.18
  5. 1.17
  6. 1.16
  7. 1.15
  8. 1.14
  9. 1.13
  10. 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 移除,无残留属性。

📋 运行环境与依赖​

项目要求版本备注说明
Minecraft1.20.4其它版本理论可用,以 AttributePlus 兼容为准
JavaJava 17服务端运行环境
服务端核心Paper / Spigot建议使用主流 Spigot 分支核心
前置插件AttributePlus 3.3.3.0+必须安装;TabooLib 6 运行库由插件自动引导加载,无需单独装

🚀 安装与快速上手​

安装步骤

  1. 确保服务器 plugins/ 目录下已安装 AttributePlus。
  2. 将压缩包内的 RegionAttribute-1.0.0.jar 放入 plugins/ 目录。
  3. 启动服务器,插件将自动生成 plugins/RegionAttribute/config.yml 和 regions.yml。(注:本发布包仅包含插件本体与说明文档,不包含源码及 AttributePlus 本体。)
三步创建你的第一个属性区域

  1. 在游戏内输入 /ra wand 获取选区小木斧(需 OP 或拥有 regionattribute.use 权限),左键点击方块设置 pos1,右键点击另一个方块设置 pos2。
  2. 输入 /ra create mystic 使用当前选区创建名为 mystic 的区域。
  3. 打开 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.yml

YAML

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 的生效属性源;当玩家离开秘境范围后,该属性源会自动卸载消失
作者
Emberveil·恩伯维尔之域
价格
5.00金粒
下载
0
查看
1
首次发布
最后更新

评分

0.00 星 0 次评分
后退
顶部 底部