原创世界: 【Dragicland】
头衔: 记录世界的探险家
- 帖子
- 6889
- 主题
- 1378
- 探险经验
- 31606
- 卡币
- 13404 F
- 头像出处
- 一只萌灿
|
emmmm,又在知乎上回答了个Minecraft相关问题,回来存个档(X)
最近解决了几个看着很复杂的功能,我觉得下一次大更新已经在路上了 (?)
1.先定一个小目标
首先明确自己想做什么样的MOD。如果之前没有开发基础的话,做MOD需要学的东西很多,尤其是编程方面的内容,比如学会如何和各种各样莫名其妙的BUG友好相处(X)。因此建议先找到明确目标,然后一边做一边学,有兴趣有动力就不容易放弃。
2.确定版本
找一个适合自己实现目标的游戏版本(比如自己的MOD需要基于某个特定的原版道具或原版机制,那就要选择有这些东西的版本),没有特定需求的话也可以选择玩的人多、稳定的版本(比如1.7.10、1.10.2、1.12.2、1.14.2等等)。最好不要盲目追求最新版,一是现在Minecraft更新挺快的、追求新版会让你疲于修改自己的代码,二是面向新版的教程会很少……
确定游戏版本后再确定Forge的版本,一般选择推荐版就行了。可以在官网上查询并下载各版本对应的forge,Latest是最新版、Recommended是推荐版(比较稳定)。
https://files.minecraftforge.net/
3.搭建环境
推荐用 IntelliJ IDEA 作为开发环境,因为IDEA自带辅助Minecraft MOD制作的插件,搭建环境非常方便。就是下面这个插件,装上后,直接在建立新工程时选Forge MOD,然后跟着步骤设置好游戏版本和forge版本、填好MOD名称,再等待IDEA下载必要组件并自动搭建好,就可以直接用了。插件自带客户端和服务器端的运行方法,用来在制作期间测试MOD的运行。
https://plugins.jetbrains.com/plugin/8327-minecraft-development/
顺道一提,测试环境是可以安装其它MOD的。把其它MOD置于“工程文件夹\run\mods”下,测试运行时游戏除了会加载自己制作的MOD,还会自动加载其它MOD。比如你在调整怪物属性时再另外加载一个可视化显示怪物血量属性的MOD,可以方便你修改数据、调整平衡性。
4.编写MOD
好了我们现在终于正式开始写MOD啦,也要好好地学习编程啦。在此强烈推荐ustc-zzzz(1.8.9)和Harbinger(1.12.2)的教程,相当全面和详细。不一定也不必须要看和自己MOD所用的游戏版本完全一致的教程,有很多代码在不同版本间是通用的,或者稍加修改即可正常使用。比如我在开发1.10.2的MOD,看1.8.9的教程问题也不大。如果遇到版本间差异较大的方法,可以直接参考MC原游戏的代码来写(IDEA安装好MC插件,双击Shift即可搜索MC原游戏的代码)。
https://fmltutor.ustc-zzzz.net
https://harbinger.covertdragon.team
另外推荐Minecraft wiki,用来查阅原版物品的ID和作用机制非常方便:https://minecraft-zh.gamepedia.com/Minecraft_Wiki
以及如遇疑难杂症可以上Minecraft中文论坛:https://www.mcbbs.net/forum-development-1.html
顺便附上一个我自己写的关于实体生物模型制作的专项教程:https://www.dragicland.com/forum/viewthread.php?tid=3017
5.完成MOD
如果用带MC插件的IDEA的话,就很简单,直接运行插件自带的build即可。此时在“工程文件夹\build\libs”下会出现两个jar文件,一个叫modname.jar(编译好的MOD),一个叫modname-source.jar(打包的MOD源码)。把前者发给你的小伙伴,记得同时告诉对方游戏版本和forge版本号,基于forge制作的MOD需要游戏本体安装相同的forge才可以加载。如此一来,你们就可以愉快地玩耍啦!~ |
|