Ricardo's Magic Zone
avatar
Ricardo's Magic Zone
邪恶魔法师的神秘空间
GitHub Email

R’s Experience 官方Wiki

R’s Experience — 精通等级成长系统 · Minecraft 1.21.1 · Fabric

版本:v0.5 “协奏曲与圣器” | 更新日期:2026-07-15


📑 目录

  1. 模组概述
  2. 精通等级系统
  3. 装备限制系统
  4. 厌弃与讨好机制
  5. 器之绝望机制
  6. 经验获取途径
  7. 武器系统
  8. 协奏曲技能
  9. Tooltip 系统
  10. 命令列表
  11. HUD 界面
  12. 配置系统
  13. 兼容性说明
  14. 常见问题(FAQ)
  15. 版本历史

📖 模组概述

R’s Experience 是一个受 Warframe 精通等级系统启发的 Minecraft 模组。它引入了一套完整的精通等级(Mastery Rank)成长体系,让 Minecraft 的装备系统拥有了 RPG 式的成长深度。

核心概念:

  • 玩家通过积累经验提升精通等级(0~30 级)
  • 装备通过 Lore 文本标记所需的精通等级
  • 等级不足时使用装备会受到惩罚,甚至被装备「厌弃」
  • v0.5 新增专属武器系统与协奏曲技能

模组信息:

项目内容
模组 IDrs_experience
支持版本Minecraft 1.21.1
加载器Fabric
依赖Fabric API
源码❌ 不公开(All Rights Reserved)

🔵 精通等级系统

等级范围

  • 玩家可达到 0~30 级 精通等级
  • 每级都需要积累足够的精通经验(Mastery XP)

升级公式

所需经验 = 100 + 当前等级 × 50

例如:

等级升到下一级所需经验
0 → 1100 XP
1 → 2150 XP
10 → 11600 XP
20 → 211,100 XP
29 → 301,550 XP

数据持久化

  • 精通等级和经验的存储是永久性的
  • 退出世界或重启服务器不会丢失
  • 数据存储在玩家实体上,支持跨维度

⚔️ 装备限制系统

限制原理

装备通过 Lore(物品提示文本) 标记所需精通等级。格式为:

需要精通等级: X

模组会读取物品 Lore 中所有文本行,查找包含 需要精通等级: 的行,提取冒号后的数字作为需求等级。

惩罚分档

等级差距档位效果
玩家 ≥ 装备等级TIER_NONE (0)无惩罚,正常使用
装备高 1~3 级TIER_LIGHT (1)攻击伤害降低 30%,攻击速度降低 30%
装备高 4~6 级TIER_HEAVY (2)攻击伤害降低 60%,攻击速度降低 60%
装备高 7+ 级TIER_BLOCKED (3)禁止使用,触发厌弃

属性修改方式(v0.3 重构)

  • 不再使用药水效果(虚弱、挖掘疲劳)
  • 改用 EntityAttributeModifier 直接修改玩家的 ATTACK_DAMAGEATTACK_SPEED 属性
  • 挖掘速度使用 MINING_FATIGUE 药水效果(因 1.21.1 无双采速度属性)

物品分类

模组自动识别物品类型,应用不同的惩罚规则:

类型代码受影响的属性
CAT_SWORD (0)攻击伤害、攻击速度
武器CAT_WEAPON (1)攻击伤害、攻击速度
CAT_PICKAXE (2)挖掘疲劳
CAT_SHOVEL (3)挖掘疲劳
CAT_AXE (4)攻击伤害、攻击速度
CAT_HOE (5)挖掘疲劳
盔甲CAT_ARMOR (6)无属性惩罚
其他CAT_OTHER (7)无属性惩罚

添加等级限制的方法

方法一: /give 指令

/give @p minecraft:diamond_sword[lore=['{"text":"✦ 需要精通等级: 10","color":"dark_aqua"}']]

方法二: 模组指令

/mastery alore 10     ← 给手持物品添加等级 10 的限制

方法三: 数据包或其他模组 任何能修改物品 Lore 的方式都可以接入。


💀 厌弃与讨好机制

触发条件

玩家试图使用超出自身等级 7 级以上的装备时触发。

厌弃流程

厌弃与讨好流程图

讨好操作

  1. 蹲下(按住 Shift
  2. 上下移动鼠标/视角,累计俯仰角度达到 60°
  3. 成功后扣除当前等级 10% 的精通经验
  4. 白色 六芒星 粒子从装备位置上升至 5 格高度
  5. 装备传送回玩家背包

拒绝操作

  1. 水平旋转视角 360°
  2. 装备认可拒绝,无需消耗经验
  3. 进入 30 秒倒计时
  4. 倒计时内其他玩家可以蹲下靠近装备进行二次讨好
  5. 二次拒绝 → 装备立即销毁

二次讨好

  • 拒绝倒计时 30 秒内触发
  • 任何玩家均可执行
  • 蹲下靠近被拒绝的装备即自动触发
  • 流程与首次讨好相同

二次拒绝

  • 二次讨好被拒绝
  • 装备直接销毁,无可挽回

状态效果

  • 讨好期间:玩家受到 失明 + 迟缓 II 效果
  • 拒绝/接受后:效果自动解除

☠ 器之绝望机制

触发条件

当玩家触发厌弃时,同时满足以下两个条件:

  1. 精通等级为 0 级
  2. 精通经验为 0 XP

此时玩家连 10% 的基础经验都无法支付,世界意志将直接介入。

效果

器之绝望触发
    ↓
失明效果(视野受限)
迟缓 II(移动困难)
凋零尖啸音效
    ↓
装备直接销毁,不可挽回

如何避免

  • 确保至少保留少量经验(10 XP 足够支付一次讨好)
  • 使用 /mastery aexp <数量> 补充经验
  • 不要轻易尝试超出自身等级 7 级以上的装备

📊 经验获取途径

① 击杀怪物

每种怪物对应不同的经验值:

怪物类型经验值
普通怪物(僵尸、骷髅等)5 XP
特殊怪物(女巫、卫道士等)10 XP
稀有生物20 XP
BOSS(凋灵、末影龙)50 XP

② 同级装备使用

使用与自身精通等级完全匹配的装备进行击杀或采集时获得少量经验。

  • 条件:装备等级 == 玩家等级
  • 每次有效操作 +2 XP

③ 越级惩罚

装备任何超出等级的装备时触发:

  • 无法获得任何精通经验
  • 强迫玩家脚踏实地提升等级后再使用高级装备

🪄 武器系统

概述

v0.5 引入 R’s Experience 专属武器系统。所有武器均为单手装备,主手和副手均可发挥完整效果。

命名规则

类型前缀示例
法杖staff_*staff_attunedwand
权杖sceptre_*sceptre_shrine

武器列表

协调法杖 staff_attunedwand

属性数值
类型法杖
攻击伤害+3
攻击速度1.6
精通等级需求2
技能协奏曲
模型2D 手持(item/handheld
贴图16×16 像素,灰色金属系

协调法杖

共鸣晶石与梧桐木芯熔铸而成的协调法杖,握持时能感受到温和的魔力共振。据说曾是一位走唱乐师的遗物。

圣地权杖 sceptre_shrine

属性数值
类型权杖
攻击伤害+7
攻击速度1.0
精通等级需求5
技能
模型2D 手持(item/handheld
贴图16×16 像素,暗色金属 + 橙黄辉光

圣地权杖

古老的祭祀权杖,顶端灯笼常燃不熄。火焰早已熄灭,但余温仍在。

像素贴图风格

  • 尺寸:16×16 像素
  • 风格:像素风
  • 对角线排布(手持物品标准角度)
  • 格式:PNG

3D 模型

  • 当前版本使用 2D 平面模型
  • 3D Blockbench 项目文件已立项
  • 未来升级为 3D 模型

技能

  • v0.5版本中仅存在武器技能
  • 更多技能:天赋技能 宝石技能 玩法技能 将在后续迭代中更新

概述——协奏曲

协调法杖的专属技能。当玩家将协调法杖装备在副手时自动激活。

效果

完全抵消主手武器因精通等级差带来的属性惩罚。

副手:协调法杖(协奏曲激活)
主手:需要精通等级 10 的钻石剑
玩家精通等级:2
等级差:8 级(正常应触发厌弃)
协奏曲效果:无惩罚 ✅

技术原理

协奏曲通过在惩罚判定流程中拦截所有调用点来实现:

  1. MasteryRestrictions.hasConcerto() — 检测玩家副手是否有协调法杖
  2. getTierWithConcerto() — 在 MasteryEvents 中包裹所有 getPenaltyTier() 调用
  3. 返回 tier 0(无惩罚)

使用限制

  • 仅限协调法杖
  • 必须装备在副手
  • 无需主动激活,自动生效
  • 不影响其他玩家的装备

🧾 Tooltip 系统

概述

v0.5 全面重制了物品信息框,仅对 rs_experience 命名空间的物品生效。

显示格式

╔══════════════════════╗       ← 顶部装饰框
    协调法杖                   ← 武器中文名称
    法杖                       ← 武器类型
╠══════════════════════╣       ← 分隔线
需求: 等级 2                   ← 精通等级需求
物理伤害: +3        物理攻速: 1.6   ← 基础属性(每行两个,均匀排列)
 共鸣晶石与梧桐木芯熔铸而成的协调法杖   ← 背景描述(斜体)
 握持时能感受到温和的魔力共振
╠══════════════════════╣       ← 分隔线
 ◆ 获得技能: 协奏曲            ← 技能名(紫色加粗)
  取消主手武器因等级差带来的惩罚   ← 技能描述
ATTUNED WAND                 ← 英文名大写
╚══════════════════════╝       ← 底部装饰框

布局说明

内容颜色
1顶部装饰深灰色
2武器中文名白色加粗
3武器类型浅灰色
4分隔线深灰色
5需求等级浅灰标签 + 黄色数值
6~7属性(每行两个)浅灰标签 + 红色/绿色数值
8~背景描述浅灰斜体
-分隔线深灰色
-技能名紫色加粗
-英文名浅灰色
-底部装饰深灰色

技能图标

  • 当前使用 文字符号作为图标占位符
  • 协奏曲技能图标 textures/skill/concerto.png(16×16 像素风,紫色魔法乐谱)
  • 纹理渲染未实现,后续迭代存在可能的更新

⌨️ 命令列表

/mastery

查看精通等级面板

  • 语法:/mastery
  • 权限:所有人
  • 效果:显示当前精通等级和经验值进度

/mastery aexp

添加精通经验

  • 语法:/mastery aexp <数量>
  • 权限:OP 2
  • 范围:1~10000
  • 效果:为执行者增加指定数量的精通经验,支持跨级

/mastery dexp

扣除精通经验

  • 语法:/mastery dexp <数量>
  • 权限:OP 2
  • 范围:1~10000
  • 效果:扣除指定数量的精通经验。若当前等级经验不足,自动降级,剩余经验设为(上一级经验上限 - 1)

/mastery alore

添加精通等级 Lore

  • 语法:/mastery alore <等级>
  • 权限:OP 2
  • 效果:为手持物品添加 需要精通等级: X 的 Lore 文本。若已存在同类型 Lore,自动替换

/mastery reload

重载配置(预留)

  • 语法:/mastery reload
  • 权限:OP 2
  • 状态:❌ 尚未实现

🎨 HUD 界面

精通经验条

  • 替代原版绿色经验条
  • 颜色:蓝色
  • 显示当前精通经验进度(当前经验 / 升级所需经验

讨好进度条

  • 触发厌弃后显示
  • 位置:屏幕中央下方
  • 包含:
    • 红色进度条(剩余讨好时间)
    • 剩余秒数
    • 操作提示(蹲下 + 上下摇头 / 旋转 360°)

器之绝望提示

  • 触发器之绝望时显示
  • 警告文字 + 失明效果
  • 配合凋零尖啸音效

⚙️ 配置系统——插件转换

武器属性配置

文件路径:data/rs_experience/weapon_properties.json

{
  "rs_experience:staff_attunedwand": {
    "type": "法杖",
    "english_name": "ATTUNED WAND",
    "attack_damage": 3,
    "attack_speed": -2.4,
    "mastery_rank": 2,
    "skill": "协奏曲",
    "skill_description": "取消主手武器因等级差带来的惩罚",
    "description": [
      "共鸣晶石与梧桐木芯熔铸而成的协调法杖",
      "握持时能感受到温和的魔力共振",
      "§7§o据说曾是一位走唱乐师的遗物"
    ]
  }
}

配置项说明

字段类型说明
typeString武器类型显示名
english_nameString英文大写名
attack_damageInteger攻击伤害加成(材料基础 + 此值)
attack_speedFloat攻击速度修饰符(最终速度 = 4.0 + 此值)
mastery_rankInteger精通等级需求
skillString技能名称,留空则无技能
skill_descriptionString技能描述
descriptionArray背景描述文本(支持 § 颜色代码)

如何添加新武器

  1. ModItems.java 注册新 Item
  2. weapon_properties.json 添加配置项
  3. textures/item/ 添加 16×16 像素贴图
  4. models/item/ 添加模型 JSON

📋 兼容性说明

模组兼容

  • 完全兼容其他 RPG 模组
  • 只要其他模组的物品通过 Lore 添加了 需要精通等级: X 的文本,就会被本模组识别并限制

安装要求

  • 服务端和客户端均需要安装(Fabric 强制要求)
  • 依赖:Fabric API

已知问题

  • Tooltip 技能图标纹理渲染未实现(Mixin descriptor 不匹配)
  • 3D 武器模型尚未制作(Blockbench 项目文件已保存)
  • 灰色雾气效果已删除,待重构思
  • QQ 群消息发送路由仍指向私聊而非群聊

❓ 常见问题(FAQ)

Q: 如何查看我的精通等级?

  • A: 输入 /mastery 或在 HUD 查看蓝色经验条。

Q: 如何给物品添加等级限制?

  • A: 使用 /mastery alore <等级> 或修改物品的 Lore 文本。

Q: 这个模组与 xxx 模组兼容吗?

  • A: 完全兼容。任何通过 Lore 添加 需要精通等级: X 的物品都会被识别。

Q: 服务端需要安装吗?

  • A: 需要。Fabric 强制要求客户端和服务端都安装。

Q: 模组为什么不开源?

  • A: 本模组采用 All Rights Reserved 许可。

Q: 如何反馈 Bug 或建议?

Q: 模组的配置在哪里?

  • A: 武器属性配置在 data/rs_experience/weapon_properties.json

Q: 协奏曲技能为什么没用?

  • A: 确保协调法杖装备在副手位置,且主手武器确实有精通等级限制。

Q: 器之绝望后装备还能找回来吗?

  • A: 不能。装备已被销毁,无法恢复。

Q: 如何添加新武器?


📦 版本历史

版本日期主题主要内容
v0.1起源基础精通等级系统、NBT 限制、蓝色经验条
v0.2构想惩罚分档、经验获取、命令系统、禁用药水效果
v0.3玩法向更新属性修改(无药水)、讨好系统、粒子特效、Lore 限制
v0.3.12026-07-14绝望与救赎器之绝望、掉级机制、/dexp、/alore
v0.52026-07-15协奏曲与圣器武器系统、协奏曲技能、POE Tooltip、配置化

🚀 未来计划

  • 自定义攻击动画 — 不同武器类型拥有专属攻击动作
  • 更多武器魔法 — 不止协奏曲,而是琴瑟和鸣
  • 更多模组武器 — 魔法的世界理应丰富
  • 更多特性 — “腐化”、“亵渎”、“悲恸”……
  • Tooltip 图标渲染 — 技能图标纹理显示
  • 3D 模型 — 从 2D 像素升级到 3D 建模
  • 反馈驱动 — 你的声音决定模组的走向

反馈 & 建议: RicardoK@foxmail.com

© 2026 R’s Experience. All Rights Reserved.