zzymax
本帖最后由 zzymax 于 2014-7-29 12:12 编辑

翻译自The Grey Ghost的文章"Overview of Forge (and what it can do for you)"
原帖地址:http://greyminecraftcoder.blogspot.com/2013/12/overview-of-forge-and-what-it-can-do.html(要代理)

Forge的综述(它能为你做什么)

Forge的主要作用就是使很多的mods互相不冲突。它通过以下几种方式来实现这一点:
1 提供一个标准的机制来加载和初始化mod。
2 给你的mod提供方法来与标准的我的世界代码交互,而不需要你修改或者重写任何源代码。
3 允许你的mod的资源 (声音, 材质, 等等) 被放在你自己的mod文件夹里而不是标准代码中

加载和初始化mod
  Forge会在mod文件夹里寻找mod文件来实现这一目的. 当它找到你的mod后,它使用被称作反射的技术来发现它应该调用哪一个方法(methods)来初始化mod。在初始化过程中你的mod会调用forge的methods 来指导forge如何与你的mod里的代码交互。


避免修改源代码

实现这一目的的三种方式为:
4 提供大量的注册方式,让你可以注册方块,物品,合成等等,然后标准代码就可以与你的代码交互了。
5 在标准的基础类上又加了额外的代码(比如方块类),应此当你扩展这些基础类时,你的代码就可以重载他们 –使用继承来使标准代码调用你的代码。
6 提供众多的“事件(event)” 使你的mod可以注册自己的特性在其中,例如“每20分之1秒调用一次myModTickHandler”或者像“每当有一个玩家睡着就调用mySleepHandler”

加载mod的资源

Forge能将你的mod加载到minecraft搜寻资源的列表中。 最困惑的事就是你要知道资源文件需要放在哪里了。而当你的mod打包成zip压缩包并且被放到mod文件夹里,这就很简单了。


原帖其实还有很多扩充内容的,比如基础forge编程规范什么的,以后可能会陆续翻译

补充1:
Forge的概念 - 一些普通的注解
Forge 由几个主要部分组成

FML – forge mod loader – 主要与加载和初始化mod有关系, 但也提供大量的注册。
Minecraftforge – 增加大量的额外事件(event)与挂钩(hooks)

它们被独立的开发,并且被保存在不同的包里(cpw.mods.fml 和 net.minecraftforge),但是除此之外你就可以用相同的方式来使用它们。 你会注意到最大的不同是范例可能会有些不一致 –比如命名规则,挂钩方法(hook methods),事件处理器(event handlers),注释风格 –但是不会太难习惯。


a18964819868
LZ翻译辛苦了!

Aikawastep
OAO翻译辛苦了

Minecraftmc
LZ翻译辛苦了!

zero28
说是这么说╮(╯▽╰)╭实际上升172的时候还不是要大改代码