mcMMO Rewards:Minecraft 等级奖励插件详解
全面介绍 Minecraft 服务器插件 mcMMO Rewards:如何设置升级触发器、配置命令,以及与 mcMMO API 的集成。
全面介绍 Minecraft 服务器插件 mcMMO Rewards:如何设置升级触发器、配置命令,以及与 mcMMO API 的集成。
依赖项:
加载器:Paper / Spigot / Purpur
Minecraft 版本:1.20.x – 1.21.10
插件:McMMO
广受欢迎的 RPG 系统 mcMMO 为 Minecraft 服务器添加了技能升级机制,比如钓鱼、采矿或草药学。然而,原版插件的开发者并未内置一套灵活的机制,可以在玩家达到特定等级时自动发放物品、货币或自定义称号。辅助扩展插件 mcMMO Rewards 正是为了解决这一问题而生。它将 mcMMO 的等级系统与服务器控制台命令关联起来,让服主无需编写复杂脚本,就能为活跃玩家设置自动奖励。
事件处理与 API 集成
mcMMO Rewards 作为一个轻量级事件监听器(Event Listener)运行,直接接入 Spigot/Paper 服务器核心,并与 mcMMO 插件的官方 API 通信。
拦截 McMMOPlayerLevelUpEvent 事件
每当玩家在任意技能中升级时(例如通过采矿或收获作物),mcMMO 都会触发 McMMOPlayerLevelUpEvent 事件。mcMMO Rewards 拦截该事件并执行以下逻辑:
读取技能名称以及玩家达到的新等级。
将这些数据与配置文件
config.yml中定义的奖励列表进行比对。如果找到匹配项,插件会以控制台身份执行配置好的命令列表,并用玩家名称替换占位符
%player%。
事件处理的重要限制
由于该插件仅绑定于 McMMOPlayerLevelUpEvent 事件,它只会对游戏过程中自然达成的升级做出反应。⚠️ 等级重置与数据库修改:如果管理员通过 SQLite/MySQL 数据库文件直接修改玩家的等级(例如在数据迁移或清档时),或使用了在不触发标准升级事件的情况下改变等级值的控制台命令,奖励将不会被触发。该插件也不支持追溯发放奖励:如果玩家在安装 mcMMO Rewards 之前就已经达到 50 级,那么在达到下一等级之前,他不会收到此前已跨越的等级(10、20 等)对应的奖励。
config.yml 的结构与奖励设置
所有奖励都定义在一个配置文件中,即 plugins/mcMMORewards/config.yml。得益于 YAML 简洁的语法,开发者可以快速搭建多层级的激励体系。
配置语法说明
每个奖励块都遵循严格的层级结构:
技能名称(Skill):必须与 mcMMO 中的官方技能名称一致(例如
mining、woodcutting、swords、herbalism)。等级(Level):一个整数,表示命令将在哪个等级被执行。
命令列表:控制台操作的列表。命令开头无需加斜杠
/,因为它们都是由服务器直接以控制台身份(OP 级别)执行的。
配置文件示例
以下是一个用于发放物品和金钱的正确结构文件示例:
rewards:
mining:
10:
- "give %player% iron_ingot 5"
- "broadcast &6[RPG] &e%player% &fдосяг 10-го рівня видобутку руди!"
50:
- "eco give %player% 1000"
- "give %player% diamond 3"
swords:
25:
- "xp give %player% 500"在此示例中,当玩家 %player% 的 mining 技能达到 10 级时,会获得铁锭,并向全服广播一条消息。达到 50 级时,玩家会通过经济插件(例如 EssentialsX)获得 1000 单位货币以及 3 颗钻石。
插件管理:命令与权限
由于 mcMMO Rewards 是一个非常小巧的扩展插件,其命令和权限列表仅限于管理功能。
配置重载命令
要应用 config.yml 文件中的任何更改,无需重启整个 Minecraft 服务器,也无需中断游戏进程。只需执行以下命令:/mcmmorewards reload 该命令会从服务器内存中卸载旧设置,并重新读取配置文件,立即应用新的奖励设置。
管理员权限(Permissions)
出于服务器安全考虑,执行重载命令的能力被限制在一个专用权限节点(permission node)之内。普通玩家无法使用该命令。要将此权限授予管理员或版主(例如通过 LuckPerms),请使用以下节点:mcmmorewards.reload 默认情况下,该权限会自动授予所有拥有服务器管理员(OP)身份的玩家。
总结
对于使用 mcMMO 技能系统、带有 RPG 与生存元素的 Minecraft 服务器来说,mcMMO Rewards 是一款出色的辅助工具。它可以轻松设置针对游戏内活动的自动奖励发放,而无需学习复杂的脚本语言或使用笨重的脚本。
与需要编写自定义语法来监听 mcMMO 事件的 Skript 等复杂脚本,或功能完整的任务插件相比,mcMMO Rewards 提供了一套尽可能简单、快速配置的系统,几乎不消耗服务器资源。不过,它完全依赖于已安装的 mcMMO 插件,并且命令只能以控制台身份执行,这是它的主要限制。该插件非常适合那些希望为采集资源或提升战斗技能快速添加简单奖励的服务器。
安装
一次典型安装大约 5 分钟。流程相同,只是 Loader 和对应构建不同。
- 1Stop your Minecraft server.
- 2Drop the plugin .jar into the server /plugins folder.
- 3Start the server once so the plugin generates its config files.
- 4Edit /plugins/<name>/config.yml as needed, then run /reload confirm or restart.











