Minecraft我的世界 forge mdk1.13(1.14)开发环境搭建教程及经验
1.前言
进来迷上了mc的forge模组开发,但是网上关于1.13,1.14的forge开发教程几乎没有,1.13的环境搭建方法又与1.12的大有不同(详情见第二部分),所以我只能自己摸索,中间出了几十种不一样的错误,重装了三次,最终才装好,有一些mc爱好者,凭着一腔热血来开发forgemod,却在第一步就被劝退,实在是个遗憾,所以特别出此教程,来帮助想搭建forge1.13环境的mc爱好者。
本文章对新手比较友好(当然需要有一定的java基础)阅读本文章之前最好先去了解一下这些内容:
什么是gradle
什么是forge(玩过mc的应该都知道)
什么是MCP
什么是forgegradle
…
下文所说的1.13版本 在技术层面上 与1.14版本没有多大差别(可以通用,但是是在排除了forge玄学因素下的情况)
笔者的ide为Intellij IDEA 理论上 与eclipse没有区别,但是eclipse总会出一些奇奇怪怪的问题(排除了玄学因素)
2. 1.13与1.12的区别
在forgegradle方面
1.13 1.14(1.12大版本之后)gradle删除了gradle setupDecompWorkspace 这个方法,转而直接变成了在IDE里面导入build.gradle文件
在mdk开发方面
话不多说,mcbbs上面的纪华裕大佬已经总结了一下:http://www.mcbbs.net/forum.php?mod=viewthread&tid=845290&page=1
3.安装JDK和IDE
JDK的安装教程网上一搜一大堆,这里不多说(这是一个java开发者最基本的技能)
笔者推荐安装JDK1.8
读者大可以选择Eclipse,笔者这里以IDEA为例(如果选择Eclipse的话需要自己摸索,不过方法大致一样)
安装IDEA是一个程序员必须要会的基础知识,这里不过多赘述。
首先上官网 www.jetbrains.com 下载Intellij IDEA,这里有三个版本:
一个是U版(Ulimate) 一个是Community 还有一个是EAP版
三个版本的区别:
Ulimate版 是专业版本,需要收费,功能无限制
Community版是免费版,功能有限制
EAP版是终极免费版 功能无限制,但是需要每隔30天重装一次
虽然开发MOD免费版已经足够,但是还是推荐下载Ulimate版
U版破解方法自行百度,方法很多。
4.下载MDK
mdk在官网下载 https://files.minecraftforge.net/ 选择1.13.2版本下载,一定要下载mdk 一定要下载mdk 一定要下载mdk
下载完了之后,解压压缩包,得到文件夹,建议拷贝一个文件夹到一个目录(留一份备份,方便回滚,这个目录就是你的IDEA工作空间)
打开IDEA,依次选择file->new->project from existing sources 导入build.gradle文件
这时候IDEA会自动为你构建工作环境。
看到BUILD SUCCESSFUL之后,这一步就成功了。
如果你以为这样简单的话,那你就太单纯了, TOO YOUNG TOO SIMPLE,forge才不会轻易地放过你的。笔者就是装了5遍才可以,这只是噩梦的开始。
5.构建中的各种错误
错误之一:有关于网络的错误
forge maven的仓库在国外,访问速度会很慢,日常会断线,所以只要多尝试几次,应该就没问题。
针对网络的报错:
1.Read time out
如果这钟错误出现在刚开始下载时,多半说明gradle-4.9-bin.zip无法读取,这样的情况下有几种解决办法。
1.建议先将原本的zipURL拷贝到浏览器,直接下载到本地,再将**./gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl=**之后的网址改为你本地的zip包地址。然后刷新build。
2.将开头的https:去掉s,然后刷新项目。
2.Cannot open zip file
这种错误一般出现在刚开始build的时候,一般我们选择挂上代理。推荐使用ssr,网上的教程很多,这里也不过多赘述。
ssr配置完成后,选择全局模式,ssr的默认监听端口是127.0.0.1:1080 所以我们在gradle.properties中写入
systemProp.http.proxyHost=127.0.0.1
systemProp.http.proxyPort=1080
systemProp.https.proxyHost=127.0.0.1
systemProp.https.proxyPort=1080
然后重新构建项目。
3.下载文件过程中卡死
请使用国内源:
详情请参照mcbbs大佬Lss233的帖子:http://www.mcbbs.net/thread-800729-1-1.html
把build.gradle里面的
maven {
name = "forge"
url = "http://files.minecraftforge.net/maven"
}
改成
maven {
name = "forge"
url = "http://crystal.lss233.com.aslf.top/repositories/minecraft"
}
再次感谢友好的,无私的Lss233大佬,他的帖子上还有更多镜像源,包括Gradle Wrapper加速,MCP、Assets等调试环境资源的下载加速方法:http://www.mcbbs.net/thread-800729-1-1.html
PS:笔者这里是混合着用的,原本的外国maven源缺少一个jar包,Lss233大佬的镜像,报错找不到Client()方法,所以先下载国内的,再补充国外的,是一些问题的解决方案。大家自行实验调整,真的是心累。
错误之二:有关于虚拟机的错误
(错误代码没记住,关键词heap 、…kb、…vm)
这个错误是设置虚拟机内存过大造成的,一般出现在开始构建后的1s左右。内存默认是3G,只要改小一点就可以了,打开build.gradle文件
将
org.gradle.jvmargs=-Xmx3G
改为
org.gradle.jvmargs=-Xmx1440m
笔者这里改为1440m还是会报错,大家自行调整(不能过小也不能过大)
6.IDEA运行环境的搭建
一切构建工作完成之后,(一定要确保没有报错 一定要确保没有报错 一定要确保没有报错)我们就可以开始构建IDEA的mc运行环境了,在控制台输入gradlew genIntellijRuns 这条命令,有几率会报网络错误和虚拟机错误,与上面的解决方法一样。(eclipse的用户运行gradlew genEclipseRuns)
这时gradle会自动下载mc的语言文件和ogg声音文件还有一些零散的jar包。
这个任务完成之后,基本上整个环境已经搭建好了。这时候运行一下gradlew runClient试一下能不能打开游戏吧。
PS:如果你在构建环境的时候一点错误都没有报,那么请给作者发信息,让笔者吸吸欧气,非洲的笔者装了5、6次。
7.在运行环境搭建中容易出的问题
1. 网络问题
这类问题和之前的解决方案一样,不过多赘述。
这部分的下载地址是写死在代码里的,不过大佬Ls233的帖子上有加速教程,这一部分也基本上没有什么别的复杂的问题。有问题的话可以在blog下面写在评论里面,笔者会尽力解答。
2.其他奇奇怪怪的问题
forge的安装总是伴随着各种各样玄学的问题,如果你遇到的问题,自己无法debug,baidu无法查到解决方法,google无法查到解决方法,大佬也不知道怎么解决的话,那么恭喜你,全部清除重装是最好的方法
8.关于笔者的配置环境
JDK:1.8
mdk:1.13.2
gradle:4.9
IDE:IDEA
9.结语
笔者在连续肝了3 4天之后,终于把forge安装好了,中间有许多好心人的帮助,这里特别感谢:
Lss233大佬
Evo.Yyc大佬
szszss大佬
Evo.Yyc大佬有一个服务器,大家可以去玩一下
曜日服务器官网:www.yrcraft.cn
Evo.Yyc大佬的缔梦工作室论坛,可以在里面讨论技术:forum.dreamcould.cc
大家尽量去抱着个实验的心态去安装forge,不要着急,慢慢地装,就肯定可以安装完成,希望中国国内能早日有更多插件和mod的开发者。希望大家能一边成功,开开心心顺顺利利地开发MOD。