• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
⭐BlLevelManager⭐ - 高度可配置的玩家等级与属性成长插件

原创 付费 工具 脚本 ⭐BlLevelManager⭐ - 高度可配置的玩家等级与属性成长插件 1.0.2

请登录后获取
版权类型
原创
插件中文名称
等级管理器
插件英文名称
BlLevelManager
原帖地址
#
支持的核心(服务端)
  1. Spigot
  2. Paper
  3. Purpur
  4. Leaves
语言支持
中文(简体)
前置组件
MythicMobs
PlaceholderAPI
AttributePlus
适配版本(Java)
  1. 最新版本
  2. 26.x
  3. 1.21
  4. 1.20
  5. 1.19
  6. 1.18
  7. 1.17
  8. 1.16
  9. 1.15
  10. 1.14
  11. 1.13
  12. 1.12
[MD] # ⭐BlLevelManager⭐ - 高度可配置的玩家等级与属性成长插件 **一款 多等级、经验倍率、属性联动和日志记录管理插件** --- [URL='https://qm.qq.com/q/L0Fpe1iuUW']【点我加作者QQ购买】[/URL] QQ:2831508831 ## 🌟 插件简介 - 还在为服务器里的多套成长线、等级经验、属性奖励和每日经验上限写一堆零散逻辑吗? - **BlLevelManager** 是一款专为 Minecraft RPG / 生存 / 养成类服务器设计的等级管理插件。 - 它支持多个独立等级配置,每个等级都可以拥有自己的升级经验、每日经验上限、经验获取公式、升级条件、升级动作和 AttributePlus 属性奖励。 - 插件还内置了 PlaceholderAPI 变量、MythicMobs 击杀经验读取、MySQL / YAML 存储、经验日志记录和完整管理命令, - 适合用来制作玩家等级、技能等级、职业等级、武器熟练度、元素等级等成长系统。 --- ## 🎯 为什么选择 BlLevelManager? | 特性 | BlLevelManager | |---|---| | 多等级系统 | ✅ `levels/*.yml` 多文件配置,文件名就是等级 ID | | 经验公式 | ✅ 支持表达式、PAPI 变量和倍率计算 | | 每日上限 | ✅ 每个等级都可配置每日可获得经验上限 | | 定时倍率 | ✅ 支持 `cron_multiplier/*.yml` 定时经验倍率 | | 属性联动 | ✅ 支持 AttributePlus 属性源刷新,同 key 可叠加 | | 怪物经验 | ✅ 支持读取 MythicMobs `Mobs/*.yml` 的 `Exp` 段 | | 数据存储 | ✅ MySQL 批量异步保存,失败可回退 YAML | | 日志系统 | ✅ 支持 MySQL / 本地 YAML 经验日志 | | PAPI 变量 | ✅ 提供等级、经验、下级需求、今日经验变量 | | 管理命令 | ✅ 支持经验、等级、重置、刷新今日经验和 reload | | Tab 补全 | ✅ 管理命令参数位均有补全 | --- ## 📦 核心功能 ### 多等级配置 插件使用 `levels/*.yml` 管理多个等级系统。 每个配置文件的文件名就是等级 ID,例如: ```text plugins/BlLevelManager/levels/玩家等级.yml plugins/BlLevelManager/levels/火球等级.yml ``` 你可以为不同等级单独配置: - 经验获取公式 - 等级上限 - 满级后是否继续累计经验 - 每日经验上限 - 每级所需经验 - 升级条件 - 获取经验条件 - AttributePlus 属性 - 升级动作 --- ### 经验公式与每日上限 等级配置支持表达式: ```yaml get-exp-expression: "{exp}*10*{multiplier}" every-day-max-exp: "100+%player_level%*20" ``` 表达式中可以使用: - `{exp}`:本次基础经验 - `{level}`:玩家当前等级 - `{multiplier}`:当前命中的经验倍率 - PlaceholderAPI 变量,例如 `%player_level%` 当 PlaceholderAPI 变量无法解析为数字时,会按 0 处理,避免公式直接报错。 --- ### Cron 定时经验倍率 通过 `cron_multiplier/*.yml` 可以配置定时经验倍率: ```yaml level-id: - 玩家等级 - 火球等级 cron: "0 0 * * 6,0" multiplier-expression: "2" ``` 适合做: - 周末双倍经验 - 活动时间倍率 - 指定等级 ID 的限时倍率 --- ### AttributePlus 属性联动 等级配置可以设置 AttributePlus 属性: ```yaml ap-source-key: "玩家等级" level-exp-config: 1-9: attribute: - "生命力: 2*{level}" - "攻击力: 2*{level}" - "防御力: 2*{level}" ``` 玩家等级变化后,插件会刷新对应 AttributePlus 属性源。 多个等级配置使用同一个 `ap-source-key` 时,属性会合并叠加,而不是互相覆盖。 --- ### MythicMobs 击杀经验 插件会读取 MythicMobs 的 `Mobs/*.yml` 中的 `Exp` 段: ```yaml 模板怪: Type: HUSK Display: '§b模板怪' Health: 50 Exp: 玩家等级: 5 火球等级: 1-5 #会在1-5范围内随机 ``` 玩家击杀对应 MythicMobs 怪物后,会给指定等级 ID 增加基础经验。 基础经验仍会进入 BlLevelManager 的经验公式、倍率、条件和每日上限结算流程。 --- ### 经验日志系统 插件支持记录经验结算日志,方便后续排查和运营统计。 日志会记录: - 时间 - 事件类型 - 玩家 UUID - 玩家名 - 等级 ID - 来源类型 - 来源详情 - 结算原因 - 基础经验 - 倍率 - 公式后经验 - 实际入账经验 - 结算前后等级 - 结算前后经验 - 今日经验 - 每日上限 - 下级需求 当 MySQL 启用时,日志表默认写入同一个数据库中的: ```text bllevelmanager_logs ``` 当 MySQL 未启用或主存储回退到 YAML 时,日志会写入本地日志文件。 --- ## 🎮 管理命令 主命令: ```text /bllevel /blm ``` 命令列表: ```text /bllevel addExp <玩家名> <等级id> <经验数量> [是否走正常公式] /bllevel addLevel <玩家名> <等级id> <等级数量> /bllevel setExp <玩家名> <等级id> <经验数量> /bllevel setLevel <玩家名> <等级id> <等级数量> /bllevel reset <玩家名> <等级id> /bllevel refreshTodayExp <玩家名> <等级id> /bllevel reload ``` ### 命令说明 | 命令 | 说明 | |---|---| | `/bllevel addExp` | 给玩家指定等级增加经验,可选择是否走公式、倍率、条件和每日上限 | | `/bllevel addLevel` | 直接给玩家指定等级增加等级 | | `/bllevel setExp` | 设置玩家指定等级当前经验 | | `/bllevel setLevel` | 设置玩家指定等级当前等级 | | `/bllevel reset` | 重置玩家指定等级 | | `/bllevel refreshTodayExp` | 清空玩家指定等级今日已获取经验 | | `/bllevel reload` | 重载配置、消息、倍率、存储连接,并重新载入在线玩家数据 | `addExp` 即使没有实际入账,也会给出明确原因,例如: - 今日经验上限已满 - 获取经验条件不满足 - 公式或倍率结算为 0 --- ## 🎯 权限节点 | 权限节点 | 描述 | 默认权限 | |---|---|---| | `bllevel.admin` | 允许使用 `/bllevel` 和 `/blm` 管理命令 | OP | 等级配置里的获取经验条件和升级条件也可以写自定义权限,例如: ```yaml conditions: get-exp: permissions: - "bllevel.exp.10" upgrade: permissions: - "bllevel.exp.10" ``` 这类权限由服主在自己的等级配置中自定义。 --- ## 🔢 PlaceholderAPI 变量 变量标识: ```text bllevel ``` 可用变量: | 变量 | 说明 | |---|---| | `%bllevel_等级ID_now_level%` | 当前等级 | | `%bllevel_等级ID_level%` | 当前等级 | | `%bllevel_等级ID_now_exp%` | 当前经验 | | `%bllevel_等级ID_exp%` | 当前经验 | | `%bllevel_等级ID_next_exp%` | 下一级所需经验 | | `%bllevel_等级ID_today_exp%` | 今日已获得经验 | 示例: ```text %bllevel_玩家等级_level% %bllevel_玩家等级_exp% %bllevel_玩家等级_next_exp% %bllevel_玩家等级_today_exp% ``` --- ## 🧩 插件 API 插件提供基础 Java API: ```java BlLevelAPI.addExp(player, "玩家等级", 10, true); BlLevelAPI.addExp(player, "玩家等级", 10, true, "custom", "来源说明"); BlLevelAPI.addLevel(player, "玩家等级", 1); BlLevelAPI.getLevel(player, "玩家等级"); BlLevelAPI.getExp(player, "玩家等级"); ``` 适合其他插件给玩家发放等级经验、读取等级和读取经验。 --- ## 🌍 环境要求 | 要求 | 版本/类型 | |---|---| | Java | 1.8 | | 服务端 | Bukkit / Spigot / Paper 1.12.2 及其兼容分支 | | Minecraft | 已在 Paper 1.12.2 测试 | | AttributePlus | 可选,测试版本 3.3.3.0 | | PlaceholderAPI | 可选,测试版本 2.11.6 | | MythicMobs | 可选,测试版本 4.9.0 | | MySQL | 可选,启用 MySQL 存储时需要 | > 软依赖不是必装。未安装对应插件时,相关联动功能不会生效。 --- ## 📦 安装指南 ### 第一步:安装插件 将插件 JAR 放入服务器: ```text plugins/ ``` 然后重启服务器。 ### 第二步:生成配置 首次启动后会生成: ```text plugins/BlLevelManager/config.yml plugins/BlLevelManager/mysql.yml plugins/BlLevelManager/message.yml plugins/BlLevelManager/logger.yml plugins/BlLevelManager/levels/ plugins/BlLevelManager/cron_multiplier/ ``` 其中 `levels` 和 `cron_multiplier` 示例只会在目录首次创建时生成。 如果目录已经存在,删除单个示例文件后,reload 或重启不会自动补回。 ### 第三步:配置数据库 如果需要 MySQL 存储,在 `mysql.yml` 中启用并配置: ```yaml mysql: enable: true url: "127.0.0.1" user: "minecraft" port: 3306 password: "minecraft" database: "bllevelmanager" parameter: "useSSL=false&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai" ``` 数据表: ```text bllevelmanager_data ``` 日志表默认: ```text bllevelmanager_logs ``` 业务数据表和日志表会使用同一个数据库。 ### 第四步:重载插件 ```text /bllevel reload ``` --- ## ⚙️ 配置文件 | 配置文件 | 说明 | |---|---| | `config.yml` | 基础同步配置 | | `mysql.yml` | MySQL 存储配置 | | `message.yml` | 命令提示和控制台提示 | | `logger.yml` | 等级日志配置 | | `levels/*.yml` | 多等级配置,文件名就是等级 ID | | `cron_multiplier/*.yml` | 定时经验倍率配置 | --- ## 🧪 使用示例 ### 给玩家增加经验 ```text /bllevel addExp Steve 玩家等级 10 true ``` 插件会按 `玩家等级.yml` 中的经验公式、倍率、条件和每日上限进行结算。 ### 直接设置等级 ```text /bllevel setLevel Steve 玩家等级 20 ``` ### 刷新今日经验额度 ```text /bllevel refreshTodayExp Steve 玩家等级 ``` 适合体力药水、每日经验额度恢复道具、运营补偿等场景。 ### 重载配置并刷新在线玩家 ```text /bllevel reload ``` 重载时会从当前存储重新读取在线玩家等级数据,并刷新 AttributePlus 属性。 --- ## 🔍 常见问题 <details> <summary><b>Q1: 必须安装 AttributePlus 吗?</b></summary> 不是必须。AttributePlus 是软依赖。未安装时,等级属性联动不会生效,但等级、经验、存储和命令仍可使用。 </details> <details> <summary><b>Q2: 必须安装 PlaceholderAPI 吗?</b></summary> 不是必须。未安装 PlaceholderAPI 时,PAPI 变量和表达式中的 PAPI 解析不会生效。 </details> <details> <summary><b>Q3: 必须安装 MythicMobs 吗?</b></summary> 不是必须。未安装 MythicMobs 时,击杀 MythicMobs 怪物发放经验的功能不会生效。 </details> <details> <summary><b>Q4: 支持多个等级吗?</b></summary> 支持。每个 `levels/*.yml` 文件都是一个独立等级 ID,例如玩家等级、技能等级、火球等级、职业等级等。 </details> <details> <summary><b>Q5: 可以不用 MySQL 吗?</b></summary> 可以。MySQL 未启用或初始化失败时,插件会使用本地 YAML 作为备用存储。 </details> <details> <summary><b>Q6: 删除示例等级文件后 reload 会重新生成吗?</b></summary> 不会。`levels` 和 `cron_multiplier` 的示例文件只在对应目录首次创建时生成,避免用户删除示例后又被插件补回。 </details> --- ## ✉ 测试版本 - Paper 1.12.2 - PlaceholderAPI 2.11.6 - AttributePlus 3.3.3.0 - MythicMobs 4.9.0 - MySQL 存储与日志写入 - 本地 YAML 回退存储 --- ## 📢 更新日志 - ✨ 首次整理发布 - ✅ 多等级配置系统 - ✅ 等级经验公式与每日经验上限 - ✅ Cron 定时经验倍率 - ✅ AttributePlus 属性联动 - ✅ PlaceholderAPI 变量 - ✅ MythicMobs 击杀经验读取 - ✅ MySQL / YAML 存储 - ✅ 等级日志系统 - ✅ `/bllevel` 管理命令与 Tab 补全 - ✅ reload 后重新载入在线玩家数据 --- ## 🤝 联系方式 - 作者 QQ:2831508831 - 作者邮箱:2831508831@qq.com --- [B]⚠️ 严禁剽窃源码 · 违者必究 本插件所用所有代码均为原创,不存在借用/抄袭等行为[/B] [/MD]
  • 喜欢
反馈: 6哥
作者
蓝九
查看
279
首次发布
最后更新

评分

0.00 星 0 次评分

最新更新

  1. ⭐ BLlevelManager update ! ⭐

    - 支持mm怪物配置填写经验值随机范围
后退
顶部 底部