作者cybelia (@@)
看板Minecraft
标题Re: [讨论] 为什麽装mod要分成3种方式呢?
时间Wed May 15 15:27:54 2013
* 放jar档里面: (下称jar mod)
修改minecraft本身提供的class,来达到自己想要的功能;
基本上这一类的mod可以做到java能做到的所有事情,
但也因为覆盖了minecraft本身的base class,
如果不同jar mod改到同一个class,後来的会把先来的盖掉~
常常造成不少模组装不起来的抱怨文 (!?)
* 放mods/资料夹里面:
这个是现在常用的模组里最多的XD
minecraft本身其实看不懂这个资料夹,
而是由特定的jar mod来载入这里面的模组,
如modloader系[1]、forge[2]、liteloader[3]...etc
这些特定的jar mod提供一组API来让模组使用,
模组只能用这些API所提供的功能,但也相对地冲突的情形比较少。
其中liteloader是羽量级的,只适用不更改游戏本身内容的模组;
forge算是最复杂的一组API,
但同时也帮模组作者们提供了可观的基础建设~
btw,bukkit的plugins也应该可以算这种机制...
Edit: Forge真正负责模组载入的应该是FML(forge mod loader)
但他们下载时是绑在一起的...XD
* 放coremods/资料夹里面:
这是forge专属的东西,算是折衷的产品 (!?)
在这里面的模组仍然是由forge
(Edit: FML)负责载入,
但他们可以透过ASM[4]机制修改已经载入的code,
因此不用覆盖任何base class,
又能做到绝大部份jar mods能做的事。
但这区的东西...
如果原本的code因为某些原因已经先改动了就会炸掉,
然後喷出没人看得懂的错误讯息XD
(例如代码鸡核心的lava persistent功能配上mcpc+ [5]...)
Reference:
[1]
http://www.minecraftforum.net/topic/75440-v152-risugamis-mods-updated/
[2]
http://www.minecraftforge.net/
[3]
http://tinyurl.com/bve7rfm
[4]
http://asm.ow2.org/
[5]
https://github.com/MinecraftPortCentral/MCPC-Plus/issues/656
※ 引述《hfs (快乐!移民瑞士!梦想成真!)》之铭言:
: 为什麽装mod要分成3种方式呢?
: 我用的是ftb dw20
: 装mod分成3种方式
: 1.放mod
: 2.放jar
: 3.放core
: 请问这三种有什麽差别呢?
: 为什麽装mod要分成3种方式呢?
: 感谢热心回答的朋友们哦
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.240.130.86
1F:推 mattc123456c:可以加精华了 05/15 16:33
2F:推 jeff20092:这必须m 05/15 17:30
3F:推 yshinri:推 05/15 18:34
4F:推 mabikerry:代码鸡听起来有点好吃( ̄﹁  ̄") 05/15 21:38
5F:推 yuan860721:最近禽流感严重 吃代码鸡的时候 记得要煮熟喔~ 05/15 21:43
※ 编辑: cybelia 来自: 111.240.130.86 (05/15 22:31)
6F:→ PixiuFox:Code Chicken Core XDDD 05/16 01:23
7F:推 dustlike:连reference都有 给推XDD 05/17 13:31
8F:→ dustlike:其实说FML是forge也没错,反正他们现在是绑在一起的 05/17 13:31
9F:→ dustlike:你装了forge一定会跟着开启FML 05/17 13:32
10F:→ jeffffliu:你也可以只装fml(误 05/17 21:31
11F:推 jack82822005:收精啦~ 05/17 21:46