💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 构建开发环境 **难度分级:☆☆** 对于Forge MDK来说,你需要通过手动构建才能得到相应的开发环境。本章将简单阐述该如何构建你的Forge开发环境并与你的IDE对接。 **本章内容均基于Windows平台下,文中部分内容参考了utsc_zzzz的模组开发教程,在此做出感谢。** ## 下载远程仓库(仅EOK等Github合作项目需要进行这一步) 关于Git及Github的使用方法在本文不再赘述,你可以自行上网搜索。 首先准备好一个用于存放远程仓库的本地目录,在该目录中右键打开Git Bash,并输入如下代码: `git clone 远程仓库地址.git` 例如下载EOK远程仓库的代码即为: `git clone https://github.com/gonggongjohn/EOK-1.12.git` 等待下载过程完成,你便可以看到远程仓库目录已被克隆至你的本地目录下。 ## 构建开发环境 解压并进入你下载的Forge MDK目录中(如果是远程合作项目则进入克隆至本地的目录中)。此时你会关注到该目录下的几个重要文件:gradlew.bat,gradlew,build.gradle,gradle\wrapper\gradle-wrapper.jar,gradle\wrapper\gradle-wrapper.properties。 ### **配置构建过程** //待补全 ### **构建开发环境** 配置完各项配置文件后,你便可以打开CMD环境,进入此开发目录,并输入如下代码对本地开发环境进行构建: `gradlew setupDecompWorkspace` 随后你会看到gradlew会自动开始下载和配置所需的各个依赖文件,这个过程根据家庭和服务器的网络环境会持续3~60分钟不等,直到出现**BUILD SUCCESSFUL**字样即为构建成功。 ### **使用代理工具进行构建** 由于网络限制,部分国内用户可能需要通过代理进行构建。gradlew中对于代理可以使用如下三对参数进行设置: `-Dhttp.proxyHost=代理工具的本地开放地址 -Dhttp.proxyPort=代理工具的本地开放端口` `-Dhttps.proxyHost=代理工具的本地开放地址 -Dhttps.proxyPort=代理工具的本地开放端口` `-Dsocks.ProxyHost=代理工具的本地开放地址 -Dsocks.ProxyPort=代理工具的本地开放端口` 例如如果你使用shadowsocks进行代理,你可以使用以下代码进行构建。 `gradlew setupDecompWorkspace -Dhttps.proxyHost=127.0.0.1 -Dhttp.proxyHost=127.0.0.1 -Dhttps.proxyPort=1080 -Dhttp.proxyPort=1080` ## **匹配IDE** 构建完成后,你需要将你的forge开发环境设置进你使用的IDE中。 ### **对于Eclipse用户(Eclipse汉化教程在结尾)** 常规情况下,你可以在CMD环境中继续输入如下指令: `gradlew eclipse` 随后你将看到gradlew自动开始下载依赖文件并配置项目,这个过程可能会持续几分钟(但是比构建开发环境要快得多)等待它出现**BUILD SUCCESSFUL**字样即为配置完成。 在你的本地磁盘上新建一个文件夹作为工作目录,例如`D:\EclipseWorkspace`。 启动Eclipse,软件会让你选择工作目录,此时只需选择你刚刚创建的文件夹即可。 当你进入Eclipse后,你看到的应该是这个界面: ![](https://img.kancloud.cn/b7/06/b706e71bb8b353e59e1ce88068580a2d_1920x1048.png) 单击**文件(File)->导入(Import)**打开如图所示的窗口: ![](https://img.kancloud.cn/ec/30/ec30e23b71bb3fa78b9915323f82034d_448x474.png) 选择“来自文件夹或归档文件的项目“,单击”下一步“。将项目源设为EOK的项目路径,选中下面的复选框,单击”完成“即可完成导入。 在项目资源管理器里展开项目,你应该可以看到类似如下的目录结构: ![](https://img.kancloud.cn/86/9b/869b3a90d580b4885a3c6bcb9e889c4c_422x370.png) 如果可以显示出目录结构,则说明你的项目配置成功了。 在Eclipse界面下点击**运行(Run)->Client**,Eclipse将会启动Minecraft客户端(Server即为启动服务端): ![](https://img.kancloud.cn/6f/a8/6fa8b2394bdedd0ae91c5302471df0a8_323x166.png) 如果你的操作正确,那么现在你就可以进行正式的模组开发了。 ### **对于IntelliJ IDEA用户** #### 1.导入项目 常规的IDEA匹配流程如下: 在CMD环境中继续输入如下指令: `gradlew idea` 等待IDEA环境构建完成。打开文件夹中的项目名.ipr文件即可。 ~~但在很多情况下,这样做会使得IDEA无法自动和gradlew进行关联(在IDEA环境中不出现build过程)。 一个更推荐的做法如下: 打开一个新的IDEA界面,选择**import project**,并选择你的forge开发目录下的**build.gradle**文件,设置好JDK的相关信息,随后IDEA会自动构建和匹配对应你的forge开发目录的项目环境。~~ 在左侧Project窗口中找到**build.gradle**文件,右击它选择"Import Gradle project",等他导入完毕后在IDEA的**Gradle窗口**中执行`setupDecompWorkspace` task。 如果你没有找到Gradle窗口,你需要点击左下角的图标,选择Gradle选项: ![](https://img.kancloud.cn/12/61/1261dfea11c4ea3085cb46f228de5762_179x288.png) 在右侧会弹出一个框,其中显示了所有可用的Gradle Task。 这个过程会持续5-30分钟不等(可能还会重新下载一次gradle-bin),直到**控制台中显示BUILD SUCCESSFUL**即构建成功。 双击选项即可运行对应指令。其中build为构建模组jar文件,runClient为运行客户端,runServer为运行服务端(**但我们并不推荐使用此方法来启动Minecraft**): ![](https://img.kancloud.cn/f5/ee/f5ee09e0dc27e32ba643dd37cb54d5b8_318x671.png) 之后你也可以通过右边的工具栏访问该Gradle窗口: ![](https://img.kancloud.cn/60/84/6084cc076ddd399e3e9a2279fe2bcc5b_59x310.png) 点击左侧的Project工具栏,将目录显示改为**Production**以独立显示你的模组包: ![](https://img.kancloud.cn/2c/10/2c100a055612eeca3e06f0d3c98190fe_222x250.png) 如果你想要查看Minecraft源代码及外部依赖库代码,只需将目录显示改回Project即可。 #### 2. 启动/调试Minecraft 首先你可以在IDEA界面右上角找到下图所示的运行/调试按钮: ![](https://img.kancloud.cn/f4/a6/f4a63e97a2465c9d9055db7e03bf112d_339x106.png) 但~~因为各种特性,~~ 直接这样启动会导致**mod的资源文件没有被复制到游戏里**,我们必须要对启动方案进行配置才能正常启动。 首先点击上图中的启动方案选择框,单击“**Edit Configurations...**”按钮,打开下图所示界面,按图中描述进行配置:![](https://img.kancloud.cn/bb/92/bb92a59a60e9a2fc28c33c4d72b31889_1076x682.png) 设置完后单击"Apply"然后单击"OK",再单击Gradle窗口上边的**扳手图标**(如图所示): ![](https://img.kancloud.cn/a5/29/a52915944108cf0bfbf82b98fabb8000_426x155.png) 打开如下界面,按图示设置: ![](https://img.kancloud.cn/51/28/5128ccd58972dd37d4ce9184bcc89dbb_997x704.png) 此时,你已经可以启动Minecraft了,如果Minecraft正常启动,说明你的配置成功了,现在你就可以进行正式的模组开发了。 #### 其他内容: 正常的模组开发中,我们都会用到很多辅助mod(例如JEI, The One Probe等)。 要在开发环境中使用这些mod,我们可以像正常装mod一样,将mod放入上述操作中提到的MC根目录的mods文件夹下。 需要注意的是,**某些mod并不能在开发环境中正常运行**,例如Optifine。如果你在启动时看到类似"找不到类"这种崩溃原因,并且确保自己装了正确的依赖mod的话,基本上可以确定这个mod不能在开发环境运行。 另外,Eclipse想要在调试时修改代码逻辑(既热代码替换, Hot Swap)可以直接按Ctrl+S(就是保存),Intellij IDEA需要按Ctrl+F9 注:以上两种方式都要在调试时使用,并且**不能对类/方法/字段的签名进行修改**。 #### **附录-如何汉化Eclipse** **~~你可能会发现主题配色变了,这是因为这些截图是在另一台新电脑上截取的~~** 在Eclipse工作环境中,单击**Help->Install New Software**,打开如图所示窗口: ![](https://img.kancloud.cn/ab/80/ab80e150b003293dc04928f4fce95ee7_870x759.png) 在"Work with"栏输入链接`https://download.eclipse.org/technology/babel/update-site/R0.17.0/2019-06/` 单击”Add“按钮,在弹出的对话框里再次单击”Add“,然后等待Eclipse获取资源,这可能会花费几分钟~~至几小时~~的时间。 ![](https://img.kancloud.cn/ed/bd/edbdbb10a72766f54a63227ec2bf5ef2_867x771.png) 如图,选择”简体中文“,单击”Next“,在显示的确认页面再次单击”Next“,接受用户协议,最后单击”Finish“。 此时,你的Eclipse界面右下角应该会有这样一个进度条: ![](https://img.kancloud.cn/f4/21/f4217cefbb07ac23603b80ff0e2487e2_287x29.png) 单击进度条右边的按钮可以查看安装进度。 ![](https://img.kancloud.cn/f5/61/f561b025cc53e1c9706f28b47750b8d2_1267x167.png) 这一过程可能会持续几分钟至半小时(视网络状况),若看到如图所示的安全警告,直接选”Install anyway“即可。 ![](https://img.kancloud.cn/66/fa/66fac533932e562b16a39883147787de_551x196.png) 在安装过程中,你可以继续进行开发。在安装完成后,会弹出对话框问你是否要重新启动Eclipse。 ![](https://img.kancloud.cn/d2/ad/d2ad2ca8054acf4bec6371a4eb68682d_551x170.png) 此时选择”是“即可。 重启后,你应该就可以看到中文界面了。 ![](https://img.kancloud.cn/cc/63/cc633eef1de55fa69033bca3b209ddb3_1402x751.png)