什么是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. 数据库对m³等特殊符号的支持

    目前我只遇到过m³这个特殊符号,会影响正常使用. 比如,我在数据库中搜索: select * from table where container='10m³'; 即使数据库中对应的值,但也无法搜索出 ...

  2. Lintcode---线段树修改

    对于一棵 最大线段树, 每个节点包含一个额外的 max 属性,用于存储该节点所代表区间的最大值. 设计一个 modify 的方法,接受三个参数 root. index 和 value.该方法将 roo ...

  3. Atitit JAVA p2p设计与总结  JXTA 2

    Atitit JAVA p2p设计与总结  JXTA 2 JXTA 2 是开放源代码 P2P 网络的第二个主要版本,它利用流行的.基于 Java 的参考实现作为构建基础.在设计方面进行了重要的修改,以 ...

  4. 【JS设计模式】装饰者模式

    装饰者模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象 装饰模式的特点 (1) 装饰对象和真实对象有同样的接口.这样clien ...

  5. 日志分析工具--GoAccess的安装部署

    需求:及时得到线上用户访问日志分析统计结果,以便给开发.测试.运维.运营人员提供决策! 方案:GoAccess,图文并茂,而且速度快,每秒8W 的日志记录解析速度,websocket10秒刷新统计数据 ...

  6. 公共查询类criteria

    package cn.edu.hbcf.common.vo; import java.math.BigDecimal; import java.sql.Timestamp; import java.u ...

  7. Unity3D中简单的C#异步Socket实现

    Unity3D中简单的C#异步Socket实现 简单的异步Socket实现..net框架自身提供了很完善的Socket底层.笔者在做Unity3D小东西的时候需要使用到Socket网络通信.于是决定自 ...

  8. 【犀牛书笔记】JavaScript正则表达式的模式匹配

    正则表达式,是一个描述字符模式的对象. JavaScript用RegExp类表示正则表达式 String和RegExp都定义了相关方法 原创文章,转载请注明:http://www.cnblogs.co ...

  9. Ladies' Choice UVALive - 3989 稳定婚姻问题 gale_shapley算法

    /** 题目: Ladies' Choice UVALive - 3989 链接:https://vjudge.net/problem/UVALive-3989 题意:稳定婚姻问题 思路: gale_ ...

  10. 爬虫 (5)- Scrapy 框架简介与入门

    Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页 ...