minecraft mod开发怎么开发

基于FML的MinecraftMod制作教程(1) - MCP/FG和IDE的配置 | 白玉楼之梦
首先需要强调,这个教程不是给没有任何编程基础的人准备的...你至少要懂得最基础的编程知识和OOP(面向对象编程)的基础,如果你真的对编程一窍不通的话建议先读读Java教程.
胡来的前言
明明在索引贴不是已经有一个前言了吗?那个是我在3月份写的,在离死又近了7个月后,我又有些新的话想说.前言和教程内容没有任何关系,懒得看文字的跳过就好了.
"当我们追求各种各样的Mod的时候,还记得当初在Alpha时代拿着石镐裸身下矿洞时的感动吗?"这个是我在PD服务器管理组讨论服务器Mod配置问题时说的,以现在的眼光看,Alpha版的MC无比简陋,然而当初我们却能孜孜不倦地下坑,挖矿,努力从矿洞中逃出生天,如此反复直到被骷髅送去见四季映姬(早期版本的JJ怪真不是威胁)...
"一个遗世独立的理想乡"这是我对Alpha1.1的MC的评价,在那个时候,没有Mod,没有MCP,没有作为新人的梦魇的HIM,没有明争暗斗的ModLoader和Forge,没有飞扬跋扈的Spout,没有短命的MCP MF/MS,就连当时的服务器端都是没有Mob的...MC就宛如一片生机盎然的净土(对开局随机到雪地地图的人例外)而玩家作为这片世外桃源中唯一的人类,用双手用工具,开拓出自己的家园.有人在树林中建起一座木屋,有人建起了一座城堡,玩家们挖开了家周围的泥土种上沙子和仙人掌作为护城沟,掏空了一座山建造自己心目中的Secret Base.MC犹如一片乐土,但是这又能维持多久呢...
一年半后,MC迎来了正式版,杀死Ender龙后的诗凝缩了Notch在3年间对Minecraft的所有感情,所有的辞藻汇聚成Notch眼中的MC的主题"A Dream",梦终了,Notch投身于0x10c中.不小心在自己名字中多打了一个e的JeB成了开发组的老大,MC也自然开始向"Jeb眼中的MC"发展,我倒并不是认为Jeb将MC搞砸了,但我感觉MC在慢慢变成一个RPG游戏,而不是最初的沙盒.可又能批评什么呢?"所有人都是如此爱着这个世界,以至于不允许它不向自己希望中的方向发展."谁都有权将MC改变成自己希望中的样子,这正是MC的魅力,而Mod则是实现这一目的的工具.
我尽力将这篇教程写好,我会竭力让它通俗易懂,能够让更多的人明白MCMod的开发.如果有人将上面的前言看完的话,Vielen Dank.
-听着"八雲紫のタイムマシン" 写下了这篇肾疼的前言
开发环境准备
首先你要准备JDK(Java开发工具包)和一个代码编辑器,我习惯用Eclipse(曾经是最流行的Java代码编辑器,现在嘛...至少是最流行的免费代码编辑器.不过在IDEA推出免费的社区版之后,它或许连最流行的免费代码编辑器都不是了 ?)
最新版本的JDK应该是JDK8,虽然MC要求Java6,但高版本JDK可以编译出低版本的代码.因此在版本的选择上不用太在意.JDK可以在官网下载,网址是:
根据自己的操作系统来选择相应的版本,64位的Windows使用Windows x64版,32位Windows使用Windows x86版.
然后是准备一个Java编辑器,我使用的是Eclipse,这篇教程的代码也是在Eclipse下编写的,如果你喜欢的话,你也可以使用IDEA或NetBeans.现在很多人称IDEA很好用,但我总是不习惯IDEA的界面(感觉像是儿童玩具(笑) 不过JetBrain能用Swing搭出这种界面也不容易了).具体两者的对比可以上网搜一下,但不建议参考逼乎.
Eclipse可以在这里下载,网址是:
最新版Eclipse是4.5版(代号Mars),同时Eclipse还分很多个定制版本,每个定制版本都预装了不同的插件,我因为个人需要所以使用的是"Eclipse for RCP and RAP Developers",你可以考虑"Eclipse IDE for Java Developers".同样每个版本又细分为64位版和32位版,根据你的操作系统来选择下载.这里下载来的是英文版,安装汉化的方法可以参照这个文章:.
IDEA可以从官网下载免费的社区版,开发MCMod足以了:
首先安装JDK,通常来说如果安装顺利的话程序会自动配置环境变量,否则你需要按照这个的步骤来自行配置环境变量
之后安装Eclipse或IDEA,Eclipse无需注册表或任何安装程序,直接将其解压到一个目录下就行了.IDEA则是通过安装包来安装.
然后便是MDK的安装.首先要说明什么是MCP和MDK,以及ForgeGradle、Forge和FML的区别.
MCP即Minecraft Coder Pack,它类似于其他软件的SDK(Software Development Kit,软件开发工具包),供开发者进行二次开发的源代码与工具包,那为什么MCP不直接叫MSDK(MC SDK)呢?因为MCP是个被官方默许的反向工程项目,Minecraft是个闭源的软件,而MCP的工作组则是将MC反编译并顺带反混淆(官方对源代码进行了混淆操作,将原本有意义的变量,方法,类名变成了无意义的文字,反混淆则是分析其功能并附上合理的名字),同时附上了一些有用的开发工具.MCP是Mod开发的基础,一定程度上说,没有MCP的话,MC也就没有如今的成就.
遗憾的是,MCP项目已经开始没落了...这个将会在下面的FML部分说到.
Forge则是MinecraftModAPI库,它实现了一些被大众所需的最基本的功能,最初Forge只是一个使用ModLoader(简称ML)的Mod,因为它依赖一些ML的功能,同时依赖ML的Mod加载功能.后来在某个版本中Forge实现了自己的Mod加载,于是摆脱了对ModLoader的依赖,并且与ModLoader开始不兼容...后来Forge搞出了个ForgeModLoader.
ForgeModLoader(简称FML)是ModLoader的替代品.尽管ForgeModLoader和Forge从来都是捆绑发布和运行的,但从代码的角度来看,两者其实是独立的,这一点你可以从FML和Forge的包结构中看出来.FML跟ModLoader相比有很多优点,首先它是开源的,这意味着任何人都可以对FML做出补充,这也是为什么FML的功能越来越丰富,而ModLoader则始终是只有那几样而已.FML的开发维护者也很多,除去两三位主力外,还有上百位开发者在或多或少贡献代码.更重要的是,如今FML已经掌起了MCMod界的大旗,毫不夸张的说,MC的最高版本不是由Mojang决定而是由FML决定...(就拿1.8来说,如果FML不更新的话,你会玩1.8吗?)如今MCP基本已经弃坑了,其发起人Searge已被Mojang招安...FML已经接替了MCP的任务,并且从1.7开始,FML使用了一种新的代码构建方式:ForgeGradle.
ForgeGradle是一个封装好的Gradle插件,它能够形式原本MCP的责任,反编译MC并准备开发环境.Gradle是一个构建工具,它比Ant(一个很基本的Java构建工具)要高级,但比Maven(一个很高大上的Java构建工具)要简化一些.虽然看上去低不成高不就,但它使用起来确实挺不错,首先它比Ant的构建功能要强,正好适合MCMod复杂的发布方式,其次它支持使用Maven的代码仓库,Maven制定了一套代码仓库标准,一个程序库发布后可以直接上传到在线的仓库中,使用者能直接从仓库下载需要的库,而无需自己手动寻找.最后,Gradle比Maven要简单很多,开发者不必花费大量的时间来学习.
不过,有很长一段时间Forge官方对Mod开发环境一直没有一个正式的称呼,直到MC1.8的晚期版本,Forge开发组才给Mod开发环境起了个正式名字:MDK(Mod Development Kit?)
我们为什么需要ModLoader和FML?最原始的Mod是直接修改游戏文件,这意味着如果两个Mod修改了同一个文件的话,就会发生可怕的冲♂突.ModLoader的出现一定程度上解决了这个问题,它封装了最基本的一些操作,这让大部分Mod无需修改MC原本的类就能实现各种功能.MCPModSystem(请为它点一支蜡烛,虽然没有人记得它,但它确实曾在这个世界上存在过),Spout和ForgeModLoader则将这一特性发扬光大.
(关于Forge,FML和FG的更多的故事,可以看的5L)
开发环境的配置
首先我们要下载MDK,MDK的下载地址在这里
在某次网站改版之后,Forge下载站有了完善的界面,现在已经很直观地能看出如何选择要下载的版本.建议下载Recommended版(即稳定版,非稳定版有小概率遇到猎奇事件,例如某个非稳定版的Forge无法创建世界).如果没有Recommended,那再考虑Latest.由于我们是开发者,这里是点"Mdk"来下载开发工具.(如果是1.7或更早版本的话,是点"Src")
图:撰稿时Forge下载站1.9.4只有Latest版,当你看的时候应该已经有Recommended版了.
(提示:Forge的默认下载链接是到adfoc,它是让你先看5秒广告,然后才能点右上角的链接继续下载.如果你不喜欢看广告,或者在你那里adfoc被墙了的话,可以右键Mdk选复制链接(或者其他什么的,取决于你用的浏览器,如果是IE那就是"复制快捷方式"),然后粘贴到浏览器地址栏里,手动删掉前面的adfoc地址,只留下后半段真实下载位置)
将MDK的压缩包解压到一个文件夹,建议避免目录中带有非ASCII字符(比如汉字),也不推荐带有空格,我们先来视奸一下MDK中都有什么.
除去txt文本和.gitignore,这里主要分为四部分:
Gradle的终端 - 用于在未安装Gradle的机器上部署Gradle,以及运行Gradle指令.由文件夹gradle和文件gradle与gradle.bat组成,后两者分别是Unix/OSX和Windows下的终端.
build.gradle - 构建文件,这个文件用来告诉Gradle如何部署和构建一个项目.
eclipse - 预置的Eclipse工作目录,由于Eclipse的配置文件包含了不少二进制数据,想就地生成比较困难,因此MDK提供了一个已经预置了一些配置的Eclipse工作目录,注意区分工作目录和项目.此外,在老版本(1.7和早期的1.8)中这还是存放调试时的游戏文件的地方,在新版中已经改到run目录了.
src - 源码目录,存放Mod的代码和资源文件,这个之后会详细介绍.
现在可以通过Gradle终端来着手配置环境了.打开命令窗口并切换到这个文件夹.
(Windows7及以上有个很方便的方式,就是按住Shift然后右键,就能选择直接在当前目录中打开命令窗口.这个是yuxuanchiadm教给我的...)
在控制台内输入:
gradlew.bat setupDecompWorkspace
(注:其实即使在Windows下,"gradlew.bat"也可以简写成"gradlew",CMD会自动执行gradlew.bat文件的.我这里是习惯了改不过来了?)
(再补充一条在评论中提到的Linux下的指令:"./gradlew setupDecompWorkspace",此外如果中途遇到权限不足的问题的话,可以尝试"chmod +777 gradlew")
然后回车执行...之后ForgeGradle就会自动下载和配置操作环境了,很方便吧...
(提示:其实我还习惯加上-i,来让控制台显示当前的进度,否则卡住了的话连卡在哪都不知道...)
如果你真以为方便那你就输了,你可能会在下载过程中遇到各种谜の卡死或下载不能,甚至会在gradle文件下载时就卡住,这和天朝的GFW有关.
如果你在下载Gradle(屏幕上显示"Downloading https://services.gradle.org/distributions/gradle-2.X-bin.zip")时卡住的话,可以手动编辑gradle/wrapper/gradle-wrapper.properties文件(但不建议用记事本,随便别的什么文本编辑器都可以,哪怕写字板都行),将:
distributionUrl=https\://services.gradle.org/distributions/gradle-X-bin.zip
distributionUrl=/gradle/gradle-X-bin.zip
其中X为具体的Gradle版本,比如2.7.
然而在配置ForgeGradle过程也经常会出现卡死,通常是发生在从网上下载代码库的时候,这就需要考虑使用.
关于如何配置FGOW来加速有有篇专门的文章,不过我想各位应该不想在这上面花太多时间,因此这里直接讲最后配置的结果,还记得之前提到的build.gradle不?用文本编辑器将它打开,然后根据你使用的版本来修改它:
将'version = "1.0"'的前面的所有内容替换为:
buildscript {
repositories {
name = &fmm&
url = &/maven&
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.0-SNAPSHOT'
classpath 'net.hakugyokurou.fgow:fgow:1.2.0'
ext.mcpJsonUrl = &/versions.json&
ext.forgeJsonUrl = &/maven/net/minecraftforge/forge/json&
ext.skipFGVersionCheck = true
apply plugin: 'fgow'
mcJsonUrl = &/versions/{MC_VERSION}/{MC_VERSION}.json&
mcClientUrl = &/versions/{MC_VERSION}/{MC_VERSION}.jar&;
mcServerUrl = &/versions/{MC_VERSION}/minecraft_server.{MC_VERSION}.jar&;;
assestIndexUrl = &/indexes/{ASSET_INDEX}.json&;
assestUrl = &/assets&
mcpUrl = &/fernflower-fix-1.0.zip&
repositories {
flatDir { name &local&; dirs &/& }
name = &fmm&
url = &/maven&
将'version = "1.0"'的前面的所有内容替换为:
buildscript {
repositories {
name = &fmm&
url = &/maven&
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'net.hakugyokurou.fgow:fgow:1.2.2'
ext.mcpJsonUrl = &/versions.json&
ext.forgeJsonUrl = &/maven/net/minecraftforge/forge/json&
ext.skipFGVersionCheck = true
apply plugin: 'fgow'
mcJsonUrl = &/versions/{MC_VERSION}/{MC_VERSION}.json&
mcClientUrl = &/versions/{MC_VERSION}/{MC_VERSION}.jar&;
mcServerUrl = &/versions/{MC_VERSION}/minecraft_server.{MC_VERSION}.jar&;;
assestIndexUrl = &/indexes/{ASSET_INDEX}.json&;
assestUrl = &/assets&
mcpUrl = &/fernflower-fix-1.0.zip&
repositories {
flatDir { name &local&; dirs &/& }
name = &fmm&
url = &/maven&
将'version = "1.0"'的前面的所有内容替换为:
buildscript {
repositories {
name = &fmm&
url = &/maven&
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT'
classpath 'net.hakugyokurou.fgow:fgow:1.2.2'
ext.mcpJsonUrl = &/versions.json&
ext.forgeJsonUrl = &/maven/net/minecraftforge/forge/json&
ext.skipFGVersionCheck = true
apply plugin: 'fgow'
mcJsonUrl = &/versions/{MC_VERSION}/{MC_VERSION}.json&
mcClientUrl = &/versions/{MC_VERSION}/{MC_VERSION}.jar&;
mcServerUrl = &/versions/{MC_VERSION}/minecraft_server.{MC_VERSION}.jar&;;
assestIndexUrl = &/indexes/{ASSET_INDEX}.json&;
assestUrl = &/assets&
mcpUrl = &/fernflower-fix-1.0.zip&
repositories {
flatDir { name &local&; dirs &/& }
name = &fmm&
url = &/maven&
哇,你还真是好奇心很强的类型啊,我喜欢?
之前已经提到了build.gradle是告诉Gradle如何部署和构建一个项目的,准确来说,它的学名是构建脚本,不同的软件构建系统有不同的脚本,比如构建C/C++的CMake有CMakeList,之前提到的Maven也有pom,Gradle则采用的是build.gradle,它的一个特点是其本身其实是一段可执行的Groovy程序.Groovy是一个类Java的脚本语言,有着十分灵活的语法,Gradle便选用它作为构建脚本的语言.
由于构建脚本本身就是可编程的,理论上所有的操作都可以放在脚本中进行,但有些重复性的操作可以被提取出来做成一个公用库,于是便有了Gradle插件,Gradle插件包含了一系列预置的操作,在脚本中可以通过apply plugin来载入一个插件.
不过有时候构建脚本会依赖一些第三方库来启动,于是便有了buildscript这个"用来构建'构建脚本'的脚本",buildscript用于描述构建脚本依赖的外部库和它们的下载源,比如MDK默认的buildscript是:
buildscript {
repositories {
name = &forge&
url = &http://files.minecraftforge.net/maven&
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.X-SNAPSHOT'
这个buildscript表示在构建脚本的准备阶段,需要在JFrog的中央仓库和Forge的仓库下载ForgeGradle的插件和它的依赖库.而前面我们修改的buildscript是:
buildscript {
repositories {
name = &fmm&
url = &/maven&
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.X-SNAPSHOT'
classpath 'net.hakugyokurou.fgow:fgow:1.2.X'
它指定了从FMM(Forge的非官方仓库镜像)下载ForgeGradle和FGOW和它们的依赖库.
再往后的代码就是配置FGOW的各种下载源了,在FGOW的下载页有详细的介绍,这里主要说明最后一段,最后一段你会发现又来了一个"repositories",而且在其下不远处还有个自带的"dependencies",那么这里的"repositories, dependencies"和buildscript中的"repositories, dependencies"有什么关系?
它们的差别是:这里的"repositories, dependencies"描述的是该项目的下载源和依赖的库,buildscript中的"repositories, dependencies"描述的是此脚本的下载源和依赖的库.比如如果我的项目额外使用了一种编译型语言,需要在构建时编译一遍,而运行时则不需要.显然只有构建脚本在启动时需要下载并加载该语言的编译器,而我的项目发布后便不再需要它了.因此要将项目和构建脚本的dependencies分开对待,至于你问为何repositories也要分开对待...
整个安装过程需要"一段时间",最长可能多达一个小时,如果你采用了上文中FGOW加速下载的话,中途应该不会有卡死的情况,但如果你发现在某一处地方真的停顿了超过10分钟的话,果断Ctrl+C中断操作然后重来 ? Gradle卡死现象防不胜防,确实神烦.
对于Forge1.7.X/1.8.X,如果你在getVersionJson阶段遇到形如"xxx.json could not be parsed","FileNotFoundException: Inherited json file (null) not found"之类的错误的话,尝试将gradle.build中的
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-057-21'
当你安装结束后(我忘了截图了...总之如果你稍微懂一点英语的话,就能看出控制台明显地提示已经安装成功,而不是安装未完或失败.)就可以着手开始配置IDE了.
Eclipse自动配置
Gradle支持自动生成Eclipse项目,但愿你现在还没有关掉命令窗口(如果已经关掉了的话...就再打开吧),在命令窗口中执行:
gradlew.bat eclipse
然后等待其操作完成,然后运行Eclipse,首次运行时会让你选择工作目录,直接将工作目录设为MDK目录下的eclipse目录中.如果你已经运行过Eclipse,并且已经设置过工作目录的话,打开Eclipse,点开左上角菜单File,选择Switch Workspace.
然后将工作目录切换到你的MDK目录下的eclipse目录中.
于是便完了...没错,自动配置就是这么屌炸,连配置启动方案都省去了= =
Eclipse手动配置
有时因为各种各样的原因,我们不想切换工作目录,这时就只能将项目导入然后手动配置项目,第一步还是跟自动配置相同,.
在Eclipse中打开File - Import,选择Existing Projects into Workspace.
然后在Select root directory中将目录设为MDK目录,注意是MDK目录而不是它下面的eclipse目录.
之后点Finish就可以导入了.现在你还需要自己配置启动方案.右键你的项目,选择Properties.
然后选择Run/Debug Setting,点击New添加一个启动方案.
首先我们要创建一个客户端启动方案.名字就叫做Client吧.将主类(Main Class)选为GradleStart.
然后打开Arguments页,将Working directory选为Other,内容填上:
${workspace_loc}
如果你需要设置用户名(用来显示皮肤)的话在Program Arguments中加入:
--username [用户名]
如果你有爱的话还可以在VM arguments里加入各种虚拟机优化参数
于是你便配置完客户端的启动方案了.如果你需要的话还可以配置服务器的启动方案,服务器的启动方案设置和客户端的相似,不同之处在于:
MainClass为:
GradleStartServer
Eclipse的收尾工作
无论你是手动配置Eclipse,还是自动配置Eclipse,都还剩下最后一步需要进行 - 更改文件编码和JDK版本
依然是在Properties页中,将Resource项中的Text file encoding设为UTF-8.否则你的Mod中的中文显示出来的都是乱码的.(如果默认是UTF-8的话那再好不过)
然后检查Java Compiler项,将Compiler compliance level设为1.6 (已经是1.6?那更好)
配置IDEA首先要编辑build.gradle,在其中加入(如果不知道该加在哪的话...就加在最后吧!):
inheritOutputDirs = true
然后在命令窗口中执行:
gradlew.bat idea genIntellijRuns
等它执行完毕后,打开IDEA,选Open,然后目录设为MDK目录.
之后打开就行了,按Alt-1来显示项目目录.
最后还要在项目目录中选中Forge模块,按F4(或者右键模块,点Open Module Settings),在Project Settings - Project中,将Project Language Level改为6. (已经是6了?唔...也好)
无论你用的哪种IDE哪种配置方法,至此开发环境配置便完成了(\散花/) 快点击Eclipse上方的Run按键或IDEA的Run菜单来运行一下试试吧.然而如果你发现运行不了,或者项目中少了很多东西...那很有可能是配置时哪里出了问题,可以参考这篇文章:.
Win7下,Gradle的本地库位于C:\Users\[用户名]\.gradle下. 在评论中总结了一种更换本地库位置的办法:
将.gradlew复制到新位置后,在环境变量的系统变量里加个名称为GRADLE_USER_HOME的变量,值填新的目录位置,之后在Forge目录内打开CMD,执行gradlew.bat inti修复Gradle,然后执行gradlew.bat eclipse/idea重新生成Eclipse/Idea文件,然后在Eclipse/Idea里重新导入项目.
本条目发布于。属于、分类。作者是。什么是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的源码,可以通过官网选择合适的版本进行下载。
选择Mdk进行下载
下载完上面的文件后解压,你可以在src/main/java中看到一些实例代码和一些其它文件。
复制一下文件几目录
build.gradle
gradlew (both .bat and .sh)
在本地你喜欢的位置新建一个目录,将以上复制的内容粘贴到其中。
初始化工作空间
打开终端,进入到上面你新建的目录,使用命令
./gradlew setupDecompWorkspace
来初始化工作环境,这一过程主要下载一些用于forge和Minecraft的编译和构建的文件,而且可能需要FQ,持续十分钟左右。若gradlew没有运行权限,可使用chmod对其进行权限设置:
chmod 777 gradlew
选择开发工具
推荐使用Eclipse,以下是初始化Eclipse工作环境的命令
在你之前新建的目录下运行:
./gradlew eclipse
它会下载一些eclipse工程相关的配置文件,同样需要FQ,可能会持续十分钟左右。
导入并运行程序
如果前面两个初始化工作都顺利完成,那么可以导入并运行最原始的mod工程了。
eclipse-&file-&import-&existing projects into workspace-&[选择你之前新建的那个工程目录]-&OK
导入完工程以后可以看到
类似的工程,其中forge-project就是我新建的目录名字。
接着右击工程名
run as-&java application-&[找到GradleStart]-&OK
运行结果如下:
阅读(...) 评论()[][][][][][][][][][][][]
最新文章热门文章
[][][][][][][][][][][][]
[][][][][][][][][][][][]
09-2608-1508-0107-27
今日推荐有奖活动
二次元手游《少女咖啡枪》全平台上线!携手萌妹一起拯救这个陷入危机的末世吧。
二次元3D萌娘机战手游《元气战姬学院》开启渠道不计费首测
助威赛事晒图赢京东豪礼《新剑与魔法》3v3中韩将演巅峰对决
全CG电影手游《最终幻想 觉醒》震撼来袭 转微博海量京东卡等你拿!
日期名称状态下载号
12-06公测12-06公测12-06内测12-08内测12-08内测12-08内测12-09内测12-09公测12-09内测12-14内测12-22公测
12345678910
日期名称号
12-0111-3011-3011-3011-3011-2911-2811-2511-25
京公网安备 86 京ICP证140355号 京网文【-109号[minecraftforge]利用Forge API开发联机MOD【基础篇】【第一章】_minecraftforge-牛宝宝文章网
[minecraftforge]利用Forge API开发联机MOD【基础篇】【第一章】 minecraftforge
本帖最后由 yuxuanchiadm 于
00:52 编辑利用Forge API开发联机MOD【基础篇】【第一章】配置你的MCP和安装Forge源码作者:yuxuanchiadm索引贴地址:http://www.niubb.netthread-.html首先,开发联机MOD需要一个完整、强大的的开发环境,下面,我将教你如何构建Forge MOD开发环境:下载所需资源:1.下载MCP811:http://www.niubb.netdownload/96mrmeo57cdf6zv/mcp811.zip(*)2.下载Forge源码:http://files.minecraftforge.net/minecraftforge/minecraftforge-src-1.6.4-9.11.1.946.zip(*)构建你的ForgeMCP开发环境:1.首先解压minecraftforge-src-1.6.4-9.11.1.946.zip压缩文件里的forge文件夹(注意任何目录名都不应该出现中文)。2.其次复制mcp811.zip到forge\fml目录并重命名为mcp8.11.zip(注:此步骤可省略,Forge会自动为你下载MCP,其实这步就可以直接点击forge\install.cmd开始反编译、反混淆了,但是出于网络环境因素,最好还是自己帮Forge做点事,否则可能会导致问题)。3.接下来在根目录下新建文件夹mcp。并在mcp文件夹下新建文件夹jars。并复制一个已经安装且只安装了minecraft-1.6.4、minecraftforge-1.6.4-9.11.1.946的MC的assets、libraries和versions\1.6.4目录到mcp\jars文件夹下:并复制一个minecraft1.6.4的官方服务端到mcp\jars文件夹下命名为minecraft_server.1.6.4.jar:(否则Forge需要下载大量文件,其中一旦有一个文件下载失败,就会导致出错,所以出于网络环境因素,建议不要省略此步骤)4.运行“forge\install.cmd”批处理文件然后等待MCP解压完毕,当mcp解压完毕后立即复制根目录下的mcp文件夹到forge\mcp,即覆盖解压后的forge\mcp文件夹。之后就可以等了(注意别断开网络,可能还有文件需要下或更新)注意:反编译不应当出现任何形式的错误、警告,推荐使用jdk7u25。构建你的EclipseSDK下的MOD开发环境:新版本Forge的开发环境构建异常简单:1.切换EclipseSDK工作空间到forge\mcp\eclipse下。2.完成。(观众:貌似以前也可以这么做吧(sF□′)s┻━┻。楼主:现在换成这样是因为新版本Forge再手动配置比较麻烦的原因):至此,你就完成了所有ForgeMOD开发环境的建设,为自己欢呼吧:),你可以随时使用forge\mcp目录下的批处理:recompile.bat来编译源代码,startclient.bat来启动客户端,reobfuscate.bat来得到你制作的MOD并发布,getchangedsrc.bat来得到MOD源代码。(大众:就可以直接当服务端MOD兼客户端MOD了把=w=,楼主:卧槽 :D你怎么知道 :D)。注:单人模式其实不复存在,能单人运行的MOD,大部分都能在服务端运行 :D(MOD内部有clientSide、serverSide、bukkitSide等Proxy类,ClientSide只需在ServerSide的基础上加上GUI等客户端特有内容,反之ServerSide只需要去掉客户端内容即可,至于BUKKIT还是有点区别的)PS:其实单人游戏也是进一个服务端 :D欢迎您转载分享:
更多精彩:

我要回帖

更多关于 minecraft怎么安装mod 的文章

 

随机推荐