Minecraft Forge编程入门一 “环境搭建”
什么是Forge
Minecraft Forge is a Minecraft application programming interface (API) which allows almost maximum compatibility between other Forge mods. It contains a clean room rewrite of RML (Risugami's Modloader) which allows compatibility with modloader mods. It contains hooks into the base Minecraft files that allows modders to make their mods more advanced without editing base classes.
以上是官网wiki的介绍,大体说的是Forge是Minecraft程序的开发api,使用它来开发Minecraft的mod可以于其他的mod有比较大的兼容性。并且它还包含了一个FML(forge mod loader)来加载mod。
forge的api包涵很多特性,比如add plant(增加植物),Add Sleep Handlers(添加睡眠处理)等。
开发环境搭建
我这里是用的是mac os系统,建议使用linux或mac os系统,强烈反对windows系统别问为什么。
获取forge源码
第一步要做的就是获取forge的源码,可以通过官网http://files.minecraftforge.net选择合适的版本进行下载。
选择Mdk进行下载

解压源码
下载完上面的文件后解压,你可以在src/main/java中看到一些实例代码和一些其它文件。
复制一下文件几目录
src/build.gradlegradlew(both .bat and .sh)gradle/
在本地你喜欢的位置新建一个目录,将以上复制的内容粘贴到其中。
初始化工作空间
打开终端,进入到上面你新建的目录,使用命令
./gradlew setupDecompWorkspace
来初始化工作环境,这一过程主要下载一些用于forge和Minecraft的编译和构建的文件,而且可能需要翻墙,持续十分钟左右。若gradlew没有运行权限,可使用chmod对其进行权限设置:
chmod 777 gradlew
选择开发工具
推荐使用Eclipse,以下是初始化Eclipse工作环境的命令
在你之前新建的目录下运行:
./gradlew eclipse
它会下载一些eclipse工程相关的配置文件,同样需要翻墙,可能会持续十分钟左右。
导入并运行程序
如果前面两个初始化工作都顺利完成,那么可以导入并运行最原始的mod工程了。
eclipse->file->import->existing projects into workspace->[选择你之前新建的那个工程目录]->OK
导入完工程以后可以看到

类似的工程,其中forge-project就是我新建的目录名字。
接着右击工程名
run as->java application->[找到GradleStart]->OK

运行结果如下:

参考
http://www.minecraftforge.net/wiki/Minecraft_Forge
http://mcforge.readthedocs.org/en/latest/
Minecraft Forge编程入门一 “环境搭建”的更多相关文章
- Minecraft Forge编程入门三 “初始化项目结构和逻辑”
经过前面两个教程Minecraft Forge编程入门一 "环境搭建"和Minecraft Forge编程入门二 "工艺和食谱",我们大体知道了如何自定义合成配 ...
- Minecraft Forge编程入门二 “工艺和食谱”
从现在开始我们就要开始真正写代码了,还没有来得及配置环境的同学可以参考Minecraft Forge编程入门一 "环境搭建"这篇文章来进行环境搭建. 工艺(Craft)和食谱(Re ...
- spark编程入门-idea环境搭建
原文引自:http://blog.csdn.net/huanbia/article/details/69084895 1.环境准备 idea采用2017.3.1版本. 创建一个文件a.txt 2.构建 ...
- 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建
003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- scala 入门Eclipse环境搭建
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...
- 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布
Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...
- scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld
scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...
- 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)
总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■ CLI是Command-Lin ...
随机推荐
- C语言 (内存) 四道经典题目
void GetMemory(char *p) { p = (); "没有释放内存" } void Test(void) { char *str = NULL; GetMemory ...
- Machine-wide Progress Telerik Fiddler installation has been found at ...Please, use that one or uninstall it ...
问题描述:无法安装Fiddle,提示已有Fiddle,但是却找不到. 打开Fiddle,提示“Machine-wide Progress Telerik Fiddler installation ha ...
- GTD实用指南(转载)
时间管理第一层:记录每日时间开支,认识自己的时间黑洞.你会惊讶地发现,每天的无意义时间很可能在70%以上. [避开时间黑洞的小策略:1.彻底关闭聊天工具:2.关掉邮件的到达提醒功能:3.保持办公环境的 ...
- 计算机系统监控 PerformanceCounter
PerformanceCounter 컴퓨터 성능 머니터링 CUP Processor 메모리 하터웨어 DB (CPU,User Connection,Batch Request,Blocking ...
- [svc]几种访问google方案
最近老被人问起,有什么访问谷歌的方法可以推荐. 针对小白用户(使用sass式即可) iass sass pass区别 小白可以用(无需安装软件,些许收费):googlegae: https://m.2 ...
- :(23, 7) in class Queen, multiple overloaded alternatives of constructor Queen define default arguments. class Queen private(val name:String,prop:Array[String],private[scala02] val age:Int = 18){
- Storm学习笔记——安装配置
1.安装一个zookeeper集群 2.上传storm的安装包,解压 3.修改配置文件conf/storm.yaml #所使用的zookeeper集群主机storm.zookeeper.servers ...
- encoding和charset的区别~
本文将简述字符集,字符编码的概念.以及在遭遇乱码时的一些常用诊断技巧 背景:字符集和编码无疑是IT菜鸟甚至是各种大神的头痛问题.当遇到纷繁复杂的字符集,各种火星文和乱码时,问题的定位往往变得非常困难. ...
- python read文件内容的iter方式
遍历file的方式 iter(lambda: f.read(4096), "")等价与while True: data = f.read(4096) if not data: br ...
- Tuning 15 Application Tuning
oracle 是经过多年研发的, 通用的, 质量很高, 而application 是为客户定制的, 一次性的, 质量可能会出问题. 数据库的 move 的含义, 是将老表copy到新的表, 然后将新表 ...