什么是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. python selenium --处理下拉框

    下拉框是我们最常见的一种页面元素,对于一般的元素,我们只需要一次就定位,但下拉框里的内容需要进行两次定位,先定位到下拉框,再定位到下拉框内里的选项. drop_down.html <html&g ...

  2. Mongodb的CRUD

    1.查询 使用db.collection.find()方法进行查询.db.collection.findOne()返回单个文档.mongodb的所有查询操作都是针对单个collection > ...

  3. object-c全局变量

    跟c++一定,在.m里Obj*obj=NULL,在.h里extern Obj*obj 即可.

  4. unity, rigidbody实现瞬移必须勾选is Kinematic

    用itween让一个绑定了rigidbody的沿曲线移动,当移动到末端时瞬间返回起始状态重新播放. 发现在不勾选isKinematic的情况下是不可能实现上述需求的.因为在动力学模式下任何物体的位置和 ...

  5. MSBuild入门(续)

    MSBuild基本概念(续) 在上一篇简单的介绍了下MSBuild中的四个基本块,每块介绍比较单薄,在这里对在大多数的项目模版生成的*.*proj文件中比较常见一些用法和概念做些补充.主要有一下几方面 ...

  6. SQL server账号无法登陆

  7. 2.请求库之requests

    requests模块阅读目录: 介绍 基于GET请求 基于POST请求 响应Response 高级用法 一.介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requ ...

  8. Thrall’s Dream 第四届山东省省赛 (直接暴力DFS)

    题目链接:题目 AC代码: #include<iostream> #include<algorithm> #include<vector> #include< ...

  9. 【iOS越狱开发】如何将应用打包成.ipa文件

    在项目开发中,我们常常需要将工程文件打包成.ipa文件,提供给越狱的iphone安装. 下面是一种方法: 1.首先应该给工程安装好配置文件(这里不再敖述),在ios device的状态下,运行成功. ...

  10. 简单而直接的Python web 框架:web.py

    web.py 是一个Python 的web 框架,它简单而且功能强大.web.py 是公开的,无论用于什么用途都是没有限制的. 先让大家感受一下web.py 的简单而强大: import web ur ...