一颗丁子
本帖最后由 一颗丁子 于 2022-1-8 14:49 编辑

前言

❔ mcMMO是什么?
✔ mcMMO是一个老牌的(2014.12.18 - ~)RPG1技能插件。

每个服主应该都不会对mcMMO感到太过陌生——在一段时间里,它几乎是每个与生存RPG沾边的服务器的必装插件。

按理来说,对于这么个插件的配置,服主们应该都烂熟于心,可现实是:
1. 这一经典的击杀信息显示问题,仍时常能在问答版看到。

2. 据本人调查,很多国内服务器仍在使用本插件的默认配置2直接开服。
3. 在两年前我刚开服时,我也被这个插件的配置搞得晕头转向。

于是,为了表达我对这个插件的喜爱,也为了造福各大服主,我在此帖为大家详细解析mcMMO这一插件的要素构成,并传授大家配置要点(教你做事)

那么,让我们开始吧!


相关信息5

在主要内容开始前,我需要先讲讲关于mcMMO的一些重要信息点:

我在文中说到的所有mcMMO,都指目前由@nossr50维护的Official版本。
他给mcMMO编写了一份大修路线图,在这里,我们可以看到他对这个插件的规划:

mcMMO 0.0.0 -> 1.16.0 [经典时代]
mcMMO 2.0.0 -> 2.9.x [大修时代]  🍀
mcMMO 3.0.0+ [重生时代]

经典时代
几乎所有的内容都仍在使用作者6-8年前的设计,感觉很过时。

大修时代
每一次更新都会在实质上改变mcMMO,同时也会有新旧内容的融合。

重生时代
在这个时代会发生什么?这是我们要讨论的事情。但作者能确定的是,到了这个时期,他会再次将mcMMO看作自己的“完美之作”。


我们不难发现,现在的mcMMO正处于“大修时代”,每次更新都会推出新内容。
同时作者也在朝着“完美”这一目标迈进,这也意味着nossr50先生并不会轻易跑路)
那么,mcMMO显然就是一个充满潜力的插件,我们完全可以期待它未来的表现,也可以相对放心地购买它。

同时,作为一个两万购买量(CMI的三倍多)且评分五星的插件,我们也完全可以相信它的作用,并期待着它能给你的服务器带来新的可能性。

当然,前提是,你正确的理解了它,并依照自己的需求配置了它。

要素解析

先让我们列举出mcMMO的所有要素,再一个个分析:

◾ 依照原版行为3设计的 技能 和 子技能
◾ 从行为获取的 经验 和 升级系统
◾ 等级的 排行榜
◾ 常被我们忽略的 队伍(Party)

🔶 技能 和 子技能:
什么是技能?
你应该不会对它们感到太陌生:
             技能                                             子技能
😀
杂技翻滚 闪避
格斗狂暴 箭矢偏转 铁臂 缴械 格斗极限突破
斧技斩首者 斧头精通 暴击 破甲 强烈冲击 斧技极限突破
伐木超级伐木机 走运 秋风扫落叶 伐木工 树木丰收
挖掘暴走钻头 考古学
草药学农夫食谱 园艺大师 大地祝福
(未列举全部技能)

可以看出,技能 像是一个组,这个组下有很多 子技能
技能本身没有意义,只是作为升级的载体,真正发挥作用的是子技能
在上表中,加粗的子技能表示 需要主动释放。

说到这,就不得不把话题暂时扯开,说说mcMMO的奇妙的主动子技能释放方式:
每个技能都对应一种工具,比如格斗对应空手,挖掘对应铲子。
在游戏中手持铲子,右键,一个ActionBar消息会跳出:

这代表,这个 铲子 对应的 挖掘 中的 暴走钻头 已经处于可使用的状态。
这时,再使用一下这个铲子——比如挖一下土——暴走钻头就触发了。

每个子技能都有自己的效果,比如暴走钻头,就可以在短时间内提升你手上铲子的挖掘效率,缺点是会加快铲子耐久度的消耗。
作为一个主动子技能,它也拥有持续时间,它会随着对应技能等级的提升而加长。

至于被动子技能,则是时时刻刻发挥作用的:
比如挖掘对应的考古学,可以让你在使用铲子挖掘时概率发现一些珍贵的物品,比如石英,萤石粉,钻石等。

🔶 经验 和 升级系统:
玩家在第一次进入服务器后,最先感受到的就是这个要素。
在第一次从高处落下,抑或是用斧子砍下第一块木头时,玩家会发现一行BossBar消息:

是的,就如其所说,玩家正在通过行为学习一项技能

上面说到的每一个技能都有自己的独立等级
这一技能下的子技能会随着等级的提升而逐渐解锁,这些子技能的效果(触发概率等)也会逐渐提升。

至于提升技能等级所需的经验,则通过行为获取。
每个技能对应一项行为,比如挖掘对应用铲子采集泥土类方块、杂技对应受到摔落伤害、格斗对应空手打架。
一旦玩家做了这些行为,就会获得少量的经验,一旦经验足够,技能就会升级,每若干级会解锁一个子技能

🔶 排行榜 和 队伍
它们只是甜品级小功能,也很容易理解,不在此处做过多介绍。

到了这里,服主啊,你理解了mcMMO吗?

假如你没有理解,那么就回过头再看一遍上面的内容,或是在游戏内细细体验,感受我说的内容。
假如你理解了,那么真好,你也可以理解之后的内容了。

玩法规划

在理解了插件各个要素之间的关系之后,你就可以对其做规划了。

单纯的解释比较苍白,这里贴出我的一个设计4

工作玩法:
主要插件:mcMMO
基本设计思路:每个玩家可以选择自己的工作,如农民。选择了工作后,就可以开始获得mcMMO的复数技能的经验,而其它技能则暂时锁定,如农民对应草药学+驯兽+垂钓。

有了像是这样的玩法设计后,你就可以开始配置插件了。
当然,不做特殊设计,仅使用插件原本的逻辑当然也是可以的,纯粹依照你服务器的规划和你的喜好安排即可。

配置要点
仅对重要配置项做解析 不通篇翻译配置 请善用翻译软件
我会按要素将配置项罗列在一起 并标注它们在文件中的位置 请善用你文件编辑器的Ctrl+F搜索功能

🌍 等级和经验相关
config.yml :

experience.yml :




skillranks.yml :


🌍 技能和子技能相关
config.yml :



advanced.yml :


🌍 掉落和宝藏相关
treasures.yml :

fishing_treasures.yml :


🌍 杂项和疑难杂症相关
config.yml :




后记

mcMMO可以说是我的一代回忆,因几年前刚入坑电脑端时玩的X易服务器就装了这个插件。也算是代表我的几年服务器玩家时光了...

我还算是偏激,认为不管什么样的插件都不应该不配置就用——再小的服务器也会有自己的玩法、自己的体系、自己的风格,而没有任何一个插件完美契合你的风格,只有亲手去理解插件,配置插件,才能让插件的全部功能都与你的服务器玩法相适应,也才能提升你的服务器质量。

我认为,假若这种态度传播开来,所谓服务器圈整体质量低下也就不复存在了,所以才有了这么一帖。

这也是本人的一次尝试——即从头到尾剖析一个插件的玩法逻辑,然后教大家如何配置。我也想借此成为各位服主的启发。

还是那句话:新手上路,请多关照。

若有意见,希望能在楼下指出。

“实用内容”

📭 丁子的爱发电界面

本文内容严禁转载
若引用请标明出处

写作不易,求评分,求评论,谢谢你

附注
1. 此处“RPG”指本插件具有“能力随时间升级”这一特征
2. 不代表我认为“默认配置不好”,仅作为一个不太稳固的论据使用,目的是证明“很多服主不会配置它”这一观点
3. 此处“原版行为”指 挖矿(挖掘) 摔落(杂技) 等
4. 仅简要说明,不补充细节,也请不要向我询问关于这个玩法的信息
5. https://docs.google.com/document ... 9Adfpl7_BYBF6k/edit
    https://bstats.org/plugin/bukkit/mcMMO/3894
    https://www.spigotmc.org/resourc ... thor-returns.64348/


zpj153
这个插件贼好用哇  各种技能  

502mc
我还算是偏激,认为不管什么样的插件都应该不配置就用

结合前后文,这段话是不是少了个

再相遇
请问mcmmo有内置的GUI界面吗 如果我自己做他的变量是什么呢

一颗丁子
再相遇 发表于 2022-1-12 00:52
请问mcmmo有内置的GUI界面吗 如果我自己做他的变量是什么呢

很可惜的是 mcMMO确实不自带GUI :(
你可以用插件自带的变量实现
https://www.mc-market.org/resources/17489/
这一套是外国人制作的付费GUI 就是用自带变量+一部分自制变量实现的
自带的变量在这里 https://api.extendedclip.com/expansions/mcmmo/ 需要/papi 来下载
若有其他需求 建议JavaScript解决

再相遇
一颗丁子 发表于 2022-1-12 19:46
很可惜的是 mcMMO确实不自带GUI :(
你可以用插件自带的变量实现
https://www.mc-market.org/resources/17 ...
感谢你回复我知道了

Insulator
多谢楼主大大
对我这些不理姐英文的腐竹来说实在太好了

清醒.
学会了,感谢分享!

Hanssc
大修路线图?坑钱噱头罢了,这个图2019年1月就在了,作者还承诺过2021年前进入3.0,后面又改口说时间未定,还说会支持Sponge,也不了了之,现在还是“2.1”。作者只是为了榨干这个插件最后一点价值罢了。

Bluebxrd
支持了兄弟们!!!!!!!!

Bluebxrd
好帖子啊兄弟们,我先支持一波了!!

guixinyang
建议改名为mcmmo配置文件wiki

匿名卡
教程做的可以的,支持一下,进服的那个提示贼丑,终于找到地方可以关闭了,不错。

Kim_FORTOMc
楼主搬运牛逼!!!

一颗丁子
Kim_FORTOMc 发表于 2022-2-25 20:08
楼主搬运牛逼!!!

虽然你可能是通用回复 但是这是篇原创教程~

Zooly
感谢楼主分享!

喇涵锐
[11:53:37 INFO]: [mcMMO] Enabling mcMMO v1.5.03-dev-b45
[11:53:37 ERROR]: [mcMMO] There was an error while enabling mcMMO!
[11:53:37 WARN]: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
[11:53:37 WARN]:        at java.lang.String.substring(String.java:1931)
[11:53:37 WARN]:        at com.gmail.nossr50.config.treasure.TreasureConfig.loadTreaures(TreasureConfig.java:242)
[11:53:37 WARN]:        at com.gmail.nossr50.config.treasure.TreasureConfig.loadKeys(TreasureConfig.java:137)
[11:53:37 WARN]:        at com.gmail.nossr50.config.treasure.TreasureConfig.<init>(TreasureConfig.java:74)
[11:53:37 WARN]:        at com.gmail.nossr50.config.treasure.TreasureConfig.getInstance(TreasureConfig.java:80)
[11:53:37 WARN]:        at com.gmail.nossr50.mcMMO.loadConfigFiles(mcMMO.java:406)
[11:53:37 WARN]:        at com.gmail.nossr50.mcMMO.onEnable(mcMMO.java:146)
[11:53:37 WARN]:        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264)
[11:53:37 WARN]:        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337)
[11:53:37 WARN]:        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403)
[11:53:37 WARN]:        at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:366)
[11:53:37 WARN]:        at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:318)
[11:53:37 WARN]:        at com.rylinaux.plugman.util.PluginUtil.reload(PluginUtil.java:380)
[11:53:37 WARN]:        at com.rylinaux.plugman.command.ReloadCommand.execute(ReloadCommand.java:122)
[11:53:37 WARN]:        at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95)
[11:53:37 WARN]:        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44)
[11:53:37 WARN]:        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141)
[11:53:37 WARN]:        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13)
[11:53:37 WARN]:        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[11:53:37 WARN]:        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679)
[11:53:37 WARN]:        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577)
[11:53:37 WARN]:        at java.lang.Thread.run(Thread.java:748)
[11:53:37 INFO]: [mcMMO] Disabling mcMMO v1.5.03-dev-b45
[11:53:38 ERROR]: Error occurred while disabling mcMMO v1.5.03-dev-b45 (Is it up to date?)
java.lang.NoSuchMethodError: org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(Ljava/io/InputStream;)Lorg/bukkit/configuration/file/YamlConfiguration;
        at com.gmail.nossr50.config.AutoUpdateConfigLoader.loadFile(AutoUpdateConfigLoader.java:29) ~[?:?]
        at com.gmail.nossr50.config.ConfigLoader.<init>(ConfigLoader.java:26) ~[?:?]
        at com.gmail.nossr50.config.AutoUpdateConfigLoader.<init>(AutoUpdateConfigLoader.java:23) ~[?:?]
        at com.gmail.nossr50.config.AdvancedConfig.<init>(AdvancedConfig.java:21) ~[?:?]
        at com.gmail.nossr50.config.AdvancedConfig.getInstance(AdvancedConfig.java:27) ~[?:?]
        at com.gmail.nossr50.skills.alchemy.Alchemy.<clinit>(Alchemy.java:51) ~[?:?]
        at com.gmail.nossr50.mcMMO.onDisable(mcMMO.java:214) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:266) ~[server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:361) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:422) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at com.gmail.nossr50.mcMMO.onEnable(mcMMO.java:204) [mcMMO.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:366) [%5BP%5D%5B前置%5DPlugMan.jar:?]
        at com.rylinaux.plugman.util.PluginUtil.load(PluginUtil.java:318) [%5BP%5D%5B前置%5DPlugMan.jar:?]
        at com.rylinaux.plugman.util.PluginUtil.reload(PluginUtil.java:380) [%5BP%5D%5B前置%5DPlugMan.jar:?]
        at com.rylinaux.plugman.command.ReloadCommand.execute(ReloadCommand.java:122) [%5BP%5D%5B前置%5DPlugMan.jar:?]
        at com.rylinaux.plugman.PlugManCommandHandler.onCommand(PlugManCommandHandler.java:95) [%5BP%5D%5B前置%5DPlugMan.jar:?]
        at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1397) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1232) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_282]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_282]
        at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [server-release.jar:git-Spigot-642f6d2-57ab4cf]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_282]
怎么解决啊

一颗丁子
喇涵锐 发表于 2022-3-31 11:55
[11:53:37 INFO]: [mcMMO] Enabling mcMMO v1.5.03-dev-b45
[11:53:37 ERROR]: [mcMMO] There was an error ...

可以的话删掉你的plugman 任何情况下都不推荐这个插件 很多问题都是它导致的
删掉之后还有问题可以再发报错来

OVOOR
mcbbs有你更精彩

a862458614
请问怎么关闭一个技能

Bluebxrd
好帖子!非常详细,我来支持一波!

bilibili路人丙
感谢,对mmo懂了很多

天是我的爱
楼主,请教一下,玩家解锁技能的等级为50级(比如玩家砍树需要达到50级才能使用右键技能),请问这个该在哪里修改?

把头递过来
楼主大大,装上mcmmo后空手破坏草方块和沙砾都是直接破坏掉没有破坏CD该怎么办,哪里需要配置吗

Creeper___
给楼主献上膝盖!

一颗丁子
把头递过来 发表于 2022-7-24 21:52
楼主大大,装上mcmmo后空手破坏草方块和沙砾都是直接破坏掉没有破坏CD该怎么办,哪里需要配置吗 ...

这BUG在2.1.216版本已经修复了 更新即可

AKAStark
怎么关掉打怪和挖矿给金钱 帖子里没有说到

shengyu520
很详细啊 666666

Deng_xin
卤煮大大你好,升级一次后造成伤害一样,但是经验获得的数量变少了很多,在哪调呀,看了你的文章后没找到解决方法,望回复,谢谢

zjxdada
mcbbs有你更精彩

第一页 上一页 下一页 最后一页