- 支持版本
- 1.21.X
- 26.X
MyItemsCompat
[RPG] [属性] [技能] [宝石] [套装] [方块] — 1.21.X+ 高自由度 RPG 物品引擎
10 种属性 · 30+ 种技能 · 15+ 种 Buff · 自定义元素 · 镶嵌宝石 · 套装效果 · 自定义方块 · 全部 YAML 可配
详细教程与文档 → wiki.freescdn.com/MyItemsCompat
为什么选择 MyItemsCompat?
MyItemsCompat 是一款为 Paper 服务端打造的 全功能 RPG 物品引擎,完整继承经典 MyItems 1.12 及以下版本的物品数据体系,并在现代服务器上进行了全面扩展与重构。
只需在物品 Lore 中写入一行 @MyItems 标签,即可定义一件拥有完整 RPG 属性的装备 — 从基础攻防、暴击闪避,到被动 Buff、触发技能、元素相克、镶嵌宝石、套装效果,所有参数 全部通过 YAML 配置,无需编写任何代码。
它能做什么?
- 10 种基础属性 — 攻击力、防御力、生命值、暴击率、暴击伤害、命中率、格挡率、闪避率、PvE/PvP 伤害加成,每种属性独立配置生效槽位
- 30+ 种触发技能 — 中毒、雷击、吸血、冰封、缠绕、天照、尼禄光束……攻击即触发,概率/等级/冷却全配
- 主动技能系统 — 右键释放闪现、地裂、冰刺,支持命令技能和投射物技能(箭矢/火球/凋零头颅)
- 15+ 种被动 Buff — 速度、力量、夜视、抗火、生命恢复……装备即生效,等级可缩放
- 自定义元素 — 火/水/风/土或任意自定义元素,相克关系、伤害加成、附带药水效果全配
- 镶嵌宝石 — 武器/防具/通用宝石分类,多等级,成功率机制,GUI 可视化镶嵌
- 套装效果 — 定义套装组合,一键给予,自动从旧版配置加载
- 自定义方块 — 自定义硬度、挖掘速度,放置/挖掘事件处理
- 自选礼包 — GUI 分页浏览,玩家自选奖励,支持宝石和物品
- 物品绑定 — 手持绑定,持有者显示,等级限制
- 随机生成器 — 按系列名随机生成装备,适合抽奖/掉落
- 完整伤害引擎 — 覆盖原版计算,暴击/闪避/格挡/命中判定,Action Bar 实时伤害显示
- 网页编辑器 — 浏览器可视化构建物品,YAML 实时预览,中英双语 UI
- 零前置依赖 — 独立运行,可选对接 MythicMobs 掉落表
自由度有多高?
- 经典兼容 → 旧版 MyItems Lore 标签零修改直接迁移,自动识别 @MyItems 格式
- 极致自由 → 10 种属性 × 30+ 种技能 × 15+ 种 Buff × 自定义元素 × 镶嵌宝石 × 套装效果,任意组合
- 全链路配置 → 从物品属性、伤害公式、槽位规则到音效粒子,全部 YAML 可配,无需改代码
- 可视化编辑 → 内置 Web 编辑器,浏览器里拖拽构建物品,实时预览 YAML
- 开箱即用 → 零前置依赖,独立运行;可选对接 MythicMobs 掉落表
- 现代架构 → PDC 持久化、缓存解析、异步更新检查,为 Paper 26.1.2+ 深度优化
支持环境
- 服务端核心 → Paper 26.1.2+(推荐)/ Spigot 1.21+
- 兼容核心 → Paper · Purpur · Folia 等基于 Paper API 的核心
- Java 版本 → Java 21+
- 前置插件 → 无(独立运行)
- 软依赖 → MythicMobs(可选,支持原生掉落集成)
快速开始
代码:
1. 将 MyItemsCompat.jar 放入 plugins/ 目录
2. 启动服务器 → 自动生成配置文件
3. 如有旧版 MyItems 数据 → 自动读取 MyItems/Database/item.yml 并导入
4. 执行 /mic help 开始使用
功能矩阵
核心引擎
- Lore 解析引擎 — 解析 @MyItems 标签,PDC 持久化,内置缓存 | 支持所有旧版标签格式
- 属性系统 — 10 种可配属性,槽位规则自定义 | 每种属性独立配置生效槽位
- 伤害引擎 — 完全覆盖原版计算,攻/防/暴击/闪避/格挡/命中 | 公式参数全部可配
- Buff 系统 — 15+ 种被动效果,等级缩放,防闪烁 | 周期/持续时间/等级倍率可配
- 技能系统 — 30+ 种触发技能 + 主动技能 + 命令技能 + 投射物 | 概率/等级/冷却/点击方式全配
- 元素系统 — 自定义元素(火/水/风/土…),相克关系 | 元素名/伤害加成/相克系数全配
- 变量解析 — Lore 和名称中动态变量替换 | 可配置实时解析
- 音效系统 — 每个操作独立音效 | 音效/音量/音调全配,可静音
玩法扩展
- 镶嵌宝石 — 分类宝石(武器/防具/通用),多等级,成功率机制 | GUI 界面,失败消耗,效果自动计属性
- 槽位管理 — 全局/物品独立槽位上限,消耗型开槽器 | 开槽器外观/材料/名称/Lore 全配
- 物品绑定 — 手持绑定,持有者显示,等级限制 | 可配重绑策略
- 套装系统 — 套装组合定义,一键给予 | 从旧版配置自动加载
- 随机生成器 — 按系列名随机生成物品 | 多系列可配
- 自选礼包 — GUI 分页浏览,玩家自选一个奖励 | 支持宝石和物品
- 自定义方块 — 自定义硬度/挖掘速度,放置/挖掘事件 | 方块属性全配
- 消耗品 — 食物/药水自定义效果 | 事件驱动
管理工具
- 物品导入 — YML 批量导入,分类筛选,自动覆盖 | 稳定
- 网页编辑器 — 浏览器可视化编辑,YAML 实时预览,双语 UI | Beta
- 贴图管理 — CustomModelData 映射,旧版 damage 迁移 | 开发中
- 资源包生成 — 一键生成 1.21~26.2 格式资源包 zip | 计划中
- 调试系统 — 玩家监控,类型过滤,完整元数据查看 | 稳定
- 国际化 — 中英双语,可扩展任意语言 | 稳定
- MythicMobs — 原生掉落注册 myitems{id=物品名} | 稳定
- 更新检查 — 异步检查,管理员通知,可关闭 | 稳定
命令参考
玩家命令
- /mic help [页码] — 分页帮助,可点击填入 → myitemscompat.help
- /mic hp — 查看生命值详情 → myitemscompat.hp
- /mic bind — 绑定手持物品 → myitemscompat.bind
- /mic stats <玩家> — 查看玩家全部属性 → myitemscompat.stats
- /mic info — 插件信息与系统状态 → myitemscompat.info
管理员命令
- /mic reload — 重载全部配置 + 刷新属性 → myitemscompat.reload
- /mic import <文件> [类型] [覆盖] — 导入 YML 物品文件 → myitemscompat.import
- /mic list — 列出可导入文件 → myitemscompat.list
- /mic give <玩家> <物品名> [数量] — 给予物品(支持模糊搜索) → myitemscompat.give
- /mic save <物品名> — 保存手持物品到数据库 → myitemscompat.save
- /mic detail — 查看手持物品完整元数据 → myitemscompat.detail
- /mic gem <宝石名> [等级] [玩家] — 给予宝石 → myitemscompat.gem
- /mic generator <系列名> [玩家] — 随机生成物品 → myitemscompat.generator
- /mic set <套装名> [玩家] — 给予整套装备 → myitemscompat.set
- /mic opener <玩家> [数量] — 给予镶嵌开槽器 → myitemscompat.opener
- /mic fix <pdc|all> — 修复物品数据 → myitemscompat.fix
- /mic config — 查看当前配置数据 → myitemscompat.config
- /mic editor [verify|status] — 网页编辑器 → myitemscompat.editor
- /mic debug [子命令] — 调试系统 → myitemscompat.debug
子命令组
- info <物品ID> — 查看物品贴图详情
- list — 列出所有已配置贴图的物品
- generate [目录] — 生成 OptiFine CIT 文件
- pack [文件名] — 生成现代资源包 zip
- status — 查看贴图系统状态
- set <最大槽数> — 设置手持物品最大槽位
- add <数量> — 添加空镶嵌槽
- info — 查看手持物品槽位信息
- list — 列出所有自定义方块
- give <玩家> <方块ID> [数量] — 给予自定义方块
- status — 调试状态
- toggle / on / off — 切换调试模式
- watch <玩家> — 监控指定玩家
- type <类型> — 过滤日志类型
- clear-players — 清空监控玩家
- clear-types — 清空监控类型
- player <玩家> — 查看手持物品完整详情
- all — 全部导入数据概览
- gems — 宝石详情
- generators — 随机生成器
- sets — 套装列表
权限体系
三级权限设计,与 LuckPerms 等权限插件完全兼容。
代码:
┌─ myitemscompat.user ──── 默认: true ──── 所有玩家自动拥有
│ ├── bind 绑定物品
│ ├── stats 查看属性
│ ├── help 查看帮助
│ └── hp 查看生命值
│
├─ myitemscompat.admin ─── 默认: op ────── 管理员完整权限
│ ├── 继承 user 全部子权限
│ ├── reload 重载配置 ├── import 导入物品
│ ├── list 列出文件 ├── give 给予物品
│ ├── opener 给予开槽器 ├── save 保存物品
│ ├── detail 查看详情 ├── fix 修复数据
│ ├── gem 给予宝石 ├── generator 随机生成
│ ├── set 给予套装 ├── texture 贴图管理
│ ├── socket 槽位管理 ├── config 查看配置
│ ├── editor 网页编辑器 ├── info 插件信息
│ └── block 自定义方块
│
├─ myitemscompat.debug ─── 默认: false ──── 需手动分配
│ └── 调试命令
│
└─ myitemscompat.* ─────── 默认: op ────── 等同于 admin
配置文件
- config.yml — 主配置 — 语言、调试、伤害公式、Buff 参数、技能范围、元素开关、暴击、槽位规则、绑定策略、镶嵌参数、导入路径、变量、标识符文本、格式
- messages.yml — 消息 — 中英双语,所有提示/帮助/战斗消息,可扩展任意语言
- web-editor-lang.yml — 编辑器 UI — 网页编辑器界面翻译
- textures.yml — 贴图 — 物品 → CustomModelData 映射
- socket-gui.yml — 镶嵌 GUI — 界面布局/槽位配置
- ability_weapon.yml — 被动技能 — 每种技能的等级上限/持续时间/伤害加成
- power_special.yml — 主动技能 — 每种主动技能的持续时间/伤害加成
- element.yml — 元素 — 元素定义/伤害加成/相克关系/药水效果
- imports/ — 物品库 — YML 物品文件存放目录
- web-tool/ — 编辑器前端 — 网页编辑器静态资源
物品标签格式
所有属性通过 Lore 中的 @MyItems 标签定义,玩家看到的是翻译后的可读文本,标签隐藏在隐藏行中。
属性 (LoreStats)
代码:
@MyItems, LoreStats = DAMAGE, Value = 25.0
@MyItems, LoreStats = DEFENSE, Value = 15.0
@MyItems, LoreStats = HEALTH, Value = 100.0
@MyItems, LoreStats = CRITICAL_CHANCE, MinValue = 10.0, MaxValue = 15.0
被动效果 (Buff)
代码:
@MyItems, Buff = SPEED, Grade = 2
@MyItems, Buff = NIGHT_VISION, Grade = 1
攻击触发技能 (Ability)
代码:
@MyItems, Ability = LIGHTNING, Grade = 3, Chance = 25.0
@MyItems, Ability = VAMPIRISM, Grade = 2, Chance = 15.0
主动技能 (Power)
代码:
@MyItems, Power = SPECIAL, Click = RIGHT, Type = BLINK, Cooldown = 5.0
@MyItems, Power = SPECIAL, Click = SHIFT_RIGHT, Type = FISSURE, Cooldown = 10.0
命令技能 (PowerCommand)
代码:
@MyItems, PowerCommand = "effect <player> speed 60 2", Click = RIGHT, Cooldown = 30
投射物技能 (PowerShoot)
代码:
@MyItems, PowerShoot = ARROW, Click = RIGHT, Damage = 8.0, Cooldown = 5
@MyItems, PowerShoot = WITHER_SKULL, Click = SHIFT_RIGHT, Damage = 15.0, Cooldown = 15
元素 (Element)
代码:
@MyItems, Element = FireI, Value = 30.0
镶嵌孔 (Socket)
代码:
@MyItems, Socket = EDFS2
战斗系统
伤害公式
代码:
基础伤害 = 攻击力 × 伤害缩放系数
防御减伤 = 防御力 × 防御缩放系数
最终伤害 = (基础伤害 - 防御减伤) × 随机浮动 × 暴击倍率
战斗事件
- 暴击 — 基于暴击率判定 → 伤害 × 暴击倍率
- 闪避 — 基于闪避率判定 → 完全回避伤害
- 格挡 — 基于格挡率判定 → 减少百分比伤害
- 命中 — 基于命中率判定 → 未命中则攻击落空
反馈
- Action Bar 实时伤害数字(暴击/闪避/未命中特效区分)
- 粒子效果(可配置)
- 击杀通知消息
- 全部音效可自定义或静音
属性槽位规则(默认)
- 攻击力 → 主手、副手
- 防御力 → 头盔、胸甲、护腿、靴子
- 生命值 → 所有装备槽 + 主手 + 副手
- 暴击率 / 暴击伤害 → 主手、副手
- 命中率 → 主手、副手
- 格挡率 / 闪避率 → 头盔、胸甲、护腿、靴子
- PvE / PvP 伤害 → 主手、副手
所有槽位规则均可在 config.yml 的 stats-slots 节自由调整。
自定义教程
创建新技能
编辑 ability_weapon.yml:
代码:
MY_CUSTOM_ABILITY:
max-grade: 10
base-duration: 100
scale-duration: 20
base-bonus-damage: 5.0
scale-percent-damage: 2.0
创建新元素
编辑 element.yml:
代码:
CustomElement:
keylore: "自定义元素"
damage-bonus: 5.0
scale-percent: 2.0
potion-effects:
- type: SLOW
duration: 60
amplifier: 1
counters:
FireI: 1.5
添加新语言
编辑 messages.yml,在 languages: 下添加:
代码:
ja:
prefix: "&6[MyItemsCompat]"
general:
reload: "{prefix} &a設定が再読み込みされました。"
# ... 翻译所有消息键
网页编辑器 (Beta)
使用步骤:
- 确认 config.yml 中 editor.port 端口可用
- 游戏中执行 /mic editor 创建会话
- 点击聊天链接打开浏览器
- 会话有效期 20 分钟,/mic editor verify <验证码> 续期
功能:
- 所有 @MyItems 标签可视化构建
- Material 材质浏览器 + 物品 ID 浏览器
- 宝石镶嵌可视化编辑
- YAML 实时预览 + 导出保存
- 中英双语 UI,响应式布局
FAQ
- Q: 旧版 MyItems 物品能直接用吗?
A: 可以,自动从 MyItems/Database/item.yml 导入。
- Q: 如何修改技能中文名称?
A: 编辑 config.yml 中 ability: 的 identifier-xxx。
- Q: 如何禁用某个音效?
A: 在 sounds.yml 中将对应音效设为 ""。
- Q: 支持哪些投射物?
A: ARROW SNOWBALL EGG FIREBALL SMALL_FIREBALL WITHER_SKULL
- Q: PowerCommand 占位符?
A: <player> <world> <x> <y> <z>
- Q: 如何热更新配置?
A: /mic reload
- Q: 与 LuckPerms 兼容吗?
A: 完全兼容,使用标准 Bukkit 权限 API。
- Q: 没有前置插件能用吗?
A: 可以,零前置独立运行。
版本历史
- 2.0.0 — 全面重构:网页编辑器、镶嵌宝石系统、自定义方块、礼包系统、资源包生成器、国际化、三级权限体系