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.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编程入门一 “环境搭建”的更多相关文章
- 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 ...
随机推荐
- 阻塞IO、非阻塞IO的区别
1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合. 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值. 2)实现(实线加小圆):对纯虚函数类(抽象类)的实现. 3)继承 ...
- javascript中call apply的区别
obj.call(thisObj, arg1, arg2, ...); obj.apply(thisObj, [arg1, arg2, ...]); 两者作用一致,都是把obj(即this)绑定到th ...
- ubuntu系统安装nginx出现的错误(依赖环境没有安装完)
报错信息: error: the HTTP image filter module requires the GD library. 编译参数:(或源安装) ./configure --prefix= ...
- 点滴积累【JS】---JS小功能(操作Table--动态添加删除表格及数据)
效果: 代码: <head runat="server"> <title></title> <style type="text/ ...
- uva 10808 - Rational Resistors(基尔霍夫定律+高斯消元)
题目链接:uva 10808 - Rational Resistors 题目大意:给出一个博阿含n个节点,m条导线的电阻网络,求节点a和b之间的等效电阻. 解题思路:基尔霍夫定律,不论什么一点的电流向 ...
- [svc][op]杀进程
杀进程: 杀服务名 /usr/bin/killall -HUP syslogd 杀掉进程号 /bin/kill -USR1 $(cat /var/run/nginx.pid 2>/dev/nul ...
- ado连接sql server
//ado连接sql server //头文件加上以下这句. #import "C:\Windows\system\msado15.dll" no_namespace rename ...
- PHP7:10件事情你需要知道的
你是一个Web开发人员或网站所有者?做你的网站上的PHP-enabledCMS如WordPress,Drupal的是,Joomla或Magento的运行?然后,我对你的好消息:新的PHP 7的功能完整 ...
- js模块化规范AMD、CMD、CommonJS...
1. AMD 1.1 什么是AMD? AMD 英文名 Asynchronous Module Definition ,中文名 异步模块定义 .这是一个浏览器模块化开发的规范. 由于浏览器环境执行环境的 ...
- hibernate 在web.xml中配置的作用
1. <filter> <filter-name>Spring character encoding filter</filter-name> &l ...