minecraft mod的mod问题,刚才装...

假如 Minecraft 刚开始开发就是一个开源项目,它会怎么发展?
minecraft从来就不是一个开源项目。只是由于官方默许MCP()存在,形如开源。而MCP自minecraft的beta版本早期就发布并持续更新。这样间接为大量mod的出现,发展和繁荣提供了基础。但是,minecraft依然是一个闭源的,由官方主导的项目。评论里的内容移动到回答里来:题面只是说假如?”假如开始就“明显暗示了“后来发生了”这样的意思。但是实际上“从来不是”。本来想修改题目的,但修改后问题更不成立,就在回答中指出而已。实际上minecraft差不多就是形如开源地存在到现在的,虽然诸多不同----比如人数极少的官方在开发中占据主导,但玩家社区通过mod又绕开官方定义全新天地。mod减少了,但整合mod功能的分支版多了?但更快整合到主干代码中?不不,不是这个逻辑关系。minecraft的mod当然是越来越多的,涵盖方方面面,而原版内容必定会有限定(一方面mojang没有一个庞大的开发团队,另外一方面原版的任何改动,尤其是比较重大的改动,都会遭致巨大的社区压力----虽然mojang已经有几次不顾这些压力大幅度修改游戏的记录了)。而实际上官方对这一块儿几乎没有多少投入,目前迫于社区压力以及一些新血的注入,在逐步考虑为mod开发以及modder提供方便,但老实说,也不可能比MCP和forge团队现在做的工作做得更好。所以minecraft是官方不支持(起码不够支持)mod但是却几乎拥有世界上最多mod的游戏。实际上minecraft的成功也和它没有早期就开源有关。闭源和官方主导保证了其代码没有碎片化。这方面有一个反例:启发notch开发minecraft的无尽矿工(Infiniminer),这个游戏就由于各种偷跑修改版的泛滥导致开发者彻底放弃了项目(可以看这篇文章了解详情:),开发者原话如下:“I stopped working on Infiniminer when the source code was leaked. It was totally my fault, as that’s what I get for releasing an un-obfuscated .NET assembly, but it nevertheless enabled hackers to create hacked clients and players upset with my balancing decisions to fork and write their own clients and servers.”大意翻译:”当源码泄露后我停止开发无尽矿工。这全是我的错,因为我发布了一个未混淆代码的版本的.NET***文件。但无力阻止黑客们制造出破解后的客户端,而玩家由于不满我为平衡游戏而做的一些修改决定,创建了项目分支并制作他们自己的客户端和服务端。“结果是开发者再也无法主导游戏的主题,目标,开发方向和内容。所以游戏开发团队对游戏内容具有一定的主导性,而不被社区牵着鼻子走还是很重要的。当然,mojang要能切实多考虑下modder们的意见,就最好不过了。
其实现在的发展也有点像开源模式吧……不断追加mod的或新的功能,但一些期望追加的(如开发mod用的API)还是只是计划。如果一开始就开源的话,会更多分支版,新功能可能更快并入主干中,效能有改进的可能(可能更快些?),但也有可能更拖拉(只是修修补补,功能实现要讨论得更久?)参考mediawiki的开发……
已有帐号?
无法登录?
社交帐号登录正版Minecraft***Mod问题_百度知道查看: 5807|回复: 13
您尚未登录,立即登录享受更好的浏览体验!
才可以下载或查看,没有帐号?
本帖最后由 Darkyoooooo 于
14:20 编辑
未经允许 禁止任何人以任何形式转载Dark的Mod***维护手册Darkyoooooo 编著本手册将带领你进入MinecraftMod的世界& && && && && && && && && && &&&& && && && && && && && && && &&&&下一章第三章-***ModAPI和Mod>>本章节将带你了解MinecraftModAPI和MinecraftMod的***方法及如何寻找自己想要的Mod通过阅读本章节 你可以:学会如何***ModAPI学会如何***Mod养成时常更新自己***的Mod和ModAPI的习惯
&我得到神奇的Mod了!&----Mod***初学者3.1 ModAPI的下载与***3.1.1 ForgeAPI
ForgeAPI的下载上一章我们讲到 现在主流的ModAPI已经不是昔日的Modloader了 而是Forge
Forge的官方下载网址是: 部分地区可能无法访问 这样的话你只能挂代理上了这里简单介绍一下网址内的意思:
这里作为***者的我们只需要下载Installer(自动***器)就行了自1.6.1版本开始 Forge就为其***做了一个专门的***软件 因其使用Java编写 所以运行它前必须***Java你会注意到有Installer和Installer-Win这两个东西 这里讲解一下两个Installer的用途:Installer:下载后是一个Jar文件 这意味着它可以被任何平台的Java运行 这个Installer主要应用于Lunix MacOX等系统Installer-Win:下载后是个exe文件 这意味着它只能被Windows系统运行 主要应用于Windows平台系统
如果你发现你下载的Installer-Win无法运行 你也许应该试试Installer 它也能在装有Java的Windows系统运行 打开方式应选择你的JavaForgeAPI的***要***ForgeAPI你需要:一个.minecraft文件夹(游戏核心文件夹) 其中必须要有:
& && &&&1.libraries文件夹& &&&(这个文件夹存储着运行Minecraft必备的数据库文件 你必须保证里面的数据库可以启动Minecraft)& && &&&2.versions>[版本号&[版本号].jar& &&&(这个jar就是游戏核心jar文件 必须是未经过任何修改的 纯净的jar)
& && &&&3.launcher_profiles.json& &&&(储存游戏数据的文件 一般你的启动器会生成这个文件的)一个支持启动Forge的启动器(一般的启动器都支持 除了少数的)
准备好了吗 现在打开你下载到的Installer!打开你的Installer以后 你会看的如图3.1.1所示的界面 选择Install client再点击印着&...&的按钮再选中你的.minecraft文件夹如图3.1.2所示 点击&打开& 这一步后也许你会看到地址框被红框框围住并且有一串英文在上方 如果你按照上面说的准备好了一个文件齐全了的.minecraft文件夹 无视它 直接点击确定那么接下来Forge会访问外网下载运行所需的几个数据库文件(Installer只会下载最重要的 其他会写在json中让启动器在启动游戏时自动下载) 很不幸 部分地区也无法访问外网 怎么办? 出门左转懒人包版 下载一个简单整合包就行了 或者挂代理下载也可以***完成后 你会看到这个框框如图3.1.3所示 那么 该喜闻乐见地开游戏了打开你的启动器 然后在版本列表中选择你***的Forge版本 点击启动游戏 待你的启动器为你下载好Forge预先写在json中的数据库文件的下载地址中的文件即可启动游戏小提示:json文件是Java程序所使用的一种格式的配置文件 就如Windows系统的ini文件
& && && && && && && && && && && && & 图3.1.1& && && && && && && && && && && && && && && && && && && && && && && && && & 图3.1.2
& && && && && && && && && && && && && && && && && && && && && && & 图3.1.33.2 Mod的下载与***3.2.1 Mod的下载上章已经讲了 这里讲一下Mod常用的文件后缀名:jarzip文件夹形式litemod(LiteModloaderAPI的通用Mod文件后缀名)
3.2.2 Mod的***Minecraft的Mod必须***对应的版本 比如 在Minecraft1.6.1中 只能***给1.6.1做的Mod 不能***给1.5.2或者别的版本的Mod为什么? 我可以给你一个最直接的理由:数据不相通、相冲突假设 A版本中有一个A方块 它的ID是1 新版的B版更新后 这个A方块被替换成了B方块 ID还是1如果你给A版本做的Mod 这个Mod你将ID为1的A方块设置成了可以爆炸的方块 但到了B版的B方块中 B方块被设置成了&不可能爆炸& 这就冲突了而Minecraft某些版本间其实是可以相通的:1.6.4与1.6.2(大部分)1.6.2与1.6.1(极少数)1.5.2与1.5.1(大部分)1.4.7与1.4.6(大部分)
......接下来介绍Mod的***方法:
无需ModAPI的Mod:
如TooManyItems Optifine这些不需要ModAPI的Mod 通常的***方法是:拖入游戏核心Jar文件 即.minecraft&versions&[版本号]&[版本号].jar 覆盖掉同名的class文件并用压缩软件打开删除其中的META-INF文件小提示:jar文件中的META-INF文件夹是Java程序的数据表单 Minecraft的META-INF文件夹存储着游戏文件数据的文件游戏运行时 Java会读取这个文件夹中的文件 并***文件中的意愿执行文件检查 比如说 你改了某个class 这个class的SHA1-Digest值就会发生改变 Java发现这个class的SHA1-Digest值与文件中的不同 就会停止启动游戏所以删除了META-INF文件夹后Java就不会检查游戏文件 所以META-INF通常是这个jar有无被修改的象征
需要ModAPI的Mod:
如工业2 建筑这些需要ModAPI的Mod 通常的***方法是:将整个Mod文件拖入.minecraft&mods文件夹有极少数的Mod有特别的***方式 如:拖入与Mod的核心Mod名字相关的文件夹 通常在.minecraft文件夹下小提示:1.6.1版本的Forge之前 核心Mod和主体Mod是分别***在.minecraft&coremods和.minecraft&mods里的 但1.6.1版本之后 所有类型的Mod都要***在.minecraft&mods里了
注:官方启动器在检测到游戏核心jar被修改后会删掉重新下载 唯一的办法是:换别的启动器
3.2.3 启动游戏
ModAPI装好了 Mod也装好了 现在----启动游戏Link start!教练我的游戏闪退了怎么办? 别急 看下一章
3.2.4 时常更新ModAPI与Mod的重要性为什么要更新?因为更新使其完善为什么要完善?因为完善使我欢乐ModAPI:
ForgeAPI在Minecraft新版本早期的表现有点糟糕 特别是1.7.2 曾出现熔炉烧制物品到达一定数量时无故停止工作的BUG可即使是这样 也仍然有很多人在使用老版本的Forge 我总结了一下原因:1.下载的是懒人包 自己不会装ModAPI2.懒得更新 觉得现在这样挺好的Mod玩家的ModAPI不更新 但是Mod制作者的ModAPI会更新
同样的 用高版本的ModAPI开发的Mod 低版本的ModAPI则可能无法运行
每天都有许多玩家在问:为什么我的ModAPI无法运行我下载的Mod? 因为你的ModAPI太旧了!为什么Mod制作者会更新自己的ModAPI版本来开发Mod? 假如 他的Mod需要设置一个东西 但是这个东西在这个版本的ModAPI没有 新版的才有 他就去更新了 这就是最简单的理由Mod:
Mod更新到新版本Minecraft时 有些功能可能作者不太会移植 就像1.6.2的自定义NPCmod一样 作者在起初的测试版中没有开放NPC背包功能 这也许是因为他没有适应新版本Minecraft与ModAPI的更改 但后来他写好了 NPC背包功能在正式版中开放但是这却坑倒了许多新人 &为什么我的NPCmod不能开NPC的背包& 因为你的NPCmod太旧了!Mod更新是为了增加新功能或者修复BUG 所以我们最有必要更新的就是Mod 现在翻翻你的Mod 是不是有很多有新版本的?另一方面 也许新版本有BUG 你便坚守旧版本 这是对的 等待稳定的新版本吧3.3 小结
本章介绍了ModAPI与Mod的下载***方法以及一些小细节 并叙述了更新ModAPI与Mod的重要性 这些知识将对你以后的***Mod 整合整合包有着巨大帮助
Mcbbs有你更精彩~
Mcbbs有你更精彩~
帖子永久地址:&

参考资料

 

随机推荐