什么是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.gradle
  • gradlew (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编程入门一 “环境搭建”的更多相关文章

  1. Minecraft Forge编程入门三 “初始化项目结构和逻辑”

    经过前面两个教程Minecraft Forge编程入门一 "环境搭建"和Minecraft Forge编程入门二 "工艺和食谱",我们大体知道了如何自定义合成配 ...

  2. Minecraft Forge编程入门二 “工艺和食谱”

    从现在开始我们就要开始真正写代码了,还没有来得及配置环境的同学可以参考Minecraft Forge编程入门一 "环境搭建"这篇文章来进行环境搭建. 工艺(Craft)和食谱(Re ...

  3. spark编程入门-idea环境搭建

    原文引自:http://blog.csdn.net/huanbia/article/details/69084895 1.环境准备 idea采用2017.3.1版本. 创建一个文件a.txt 2.构建 ...

  4. 【个人笔记】003-PHP基础-01-PHP快速入门-03-PHP环境搭建

    003-PHP基础-01-PHP快速入门 03-PHP环境搭建 1.客户端(浏览器) IE FireFox CHROME Opera Safari 2.服务器 是运行网站的基本 是放置程序代码的地方 ...

  5. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

  6. scala 入门Eclipse环境搭建

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld IDE选择并下载: scala for eclipse 下载: http://scala-ide.org/downloa ...

  7. 新手嘛,先学习下 Vue2.0 新手入门 — 从环境搭建到发布

    Vue2.0 新手入门 — 从环境搭建到发布 转自:http://www.runoob.com/w3cnote/vue2-start-coding.html 具体文章详细就不搬了,步骤可过去看,我这就 ...

  8. scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld

    scala 入门Eclipse环境搭建及第一个入门经典程序HelloWorld 学习了: http://blog.csdn.net/wangmuming/article/details/3407911 ...

  9. 总结Vue 第四天:vue-cli(Vue2.0 新手入门 — 从环境搭建到发布)

    总结Vue 第四天:vue-cli(Vue2.0 新手入门 - 从环境搭建到发布) 一.Vue CLI----(Vue2.0 新手入门 - 从环境搭建到发布): ■   CLI是Command-Lin ...

随机推荐

  1. js根据对象的某一属性进行排序

    function compare(property) { return function (a, b) { var value1 = new Date(a[property]); var value2 ...

  2. Java程序猿的JavaScript学习笔记(10—— jQuery-在“类”层面扩展)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  3. iptables常用规则:屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链

    iptables常用规则:屏蔽IP地址.禁用ping.协议设置.NAT与转发.负载平衡.自定义链 时间 -- :: IT社区推荐资讯 原文 http://itindex.net/detail/4772 ...

  4. java的锁池和等待池

    谢邀.不知道题中的一段文字出自何处.“锁池”和“等待池”这种翻译我还是头一回见.不过,题主的思路已经对了,即不拘泥于文字,而是在考虑这两个东西在锁的调度(即决定哪个线程可以获得锁的过程)中起到什么作用 ...

  5. wordpress之备份与恢复数据

    备份:mysqldump -u root -p wordpress > "d:/wordpress.sql" 恢复:mysql -u root -p < "c ...

  6. Log4j1.x初识

    初识log4j1.x 研究源码首先要对项目要有整体的认识,这一章节主要让大家对log4j1.x有一个整体的认识,并以此为切入点,认识log4j1.x的真个框架 1 整体认识 先整体上对log4j1有一 ...

  7. .net访问Oracle数据库

    使用System.Data.OracleClient访问Oracle数据库时报错 尝试加载 Oracle 客户端库时引发 BadImageFormatException.如果在安装 32 位 Orac ...

  8. JSON简述

    JSON(JavaScript Object Notation) JavaScript 对象表示法,是一种轻量级的数据交换格式.类似于XML. 基础结构 JSON基于两种结构(即由两种结构组成:对象( ...

  9. iOS学习笔记10 - Bundle和Info.plist

    经常会有需要从应用中搜索并读取一个文件或图片.这时候就会用到如下的语句: NSString *path = [[NSBundle mainBundle] pathForResource:@" ...

  10. Java动态代理原理及其简单应用

    概念 代理对象和被代理对象一般实现相同的接口,调用者与代理对象进行交互.代理的存在对于调用者来说是透明的,调用者看到的只是接口.代理对象则可以封装一些内部的处理逻辑,如访问控制.远程通信.日志.缓存等 ...