本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情… 本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

Mods/制作

来自Minecraft Wiki
跳转至: 导航搜索
该页面的内容不受Mojang ABMinecraft WikiMinecraft IRC频道Minecraft论坛的官方支持
ModLoader或者直接修改源代码的方法不再被推荐;Forge(或liteloader或其他的加载器)更受欢迎。另外,可能很多信息只是在使用过时的技术;本文需要进行一次编辑,以确保所有内容都是最新的。

Minecraft Mod制作是这个社区中最重要的功能之一。世上有很多种类的Mod,这个教程将会给你提供制作你自己的Mod的信息无论它将基于ModLoader或直接在核心代码中编写。一些Java的编程知识是必要的,这个教程将假设读者已经熟悉Java编程语言的基础语法。你可以为所有的计算机运作系统(Windows、OS X、Linux、Android、IOS、Raspberry Pi和Windows Phone)创建mod。你不能在控制台制作mod。你可以使用本页面提供的工具和知识为Minecraft制作mod,还可以改进使用的Java甚至是一些进展中的程序语言。希望该过程一路顺利。

其他教程[编辑 | 编辑源代码]

对于本页面没有包括的教程,Minecraft Forums的Mod开发教程可以帮助我们去建立第一个Mod。ModLoader和Minecraft Forge也都有各种教程。

工具[编辑 | 编辑源代码]

许多工具都可以开发Minecraft的mod。下面的工具列表是人们放置的或在讨论页中推荐的。Minecraft通常是使用的Java语言,所以为Minecraft制作mod时几乎全部都是在编译Java。最后版本的Java可以在此处(JRE)或此处(JDK)下载。Java 8更新快照下载在这里,Java 9更新快照下载在这里。同时Java 9快照不能用于Minecraft,但是Java 8快照可以,如果你需要运行最新的Java 8快照,下面的这些Java都是可以使用的:

  • Java SE(Java标准版),能够用于下列包:Java的正常运行环境,JRE(Java运行环境)和JDK(Java开发工具)。JDK是为Java开发者和编译者设计的,需要用来编译Minecraft的mod。JDK可以在NetBeans这里下载。
  • Java EE(Java企业版),用于商业、公司和大型项目,与标准版Java相比,有更多的类。
  • Java ME(Java微型版)是Java的小型版本。
  • JavaFX,现在已经被包括在所有的Java包。

任何设备都通用的Java编码工具可以用来帮助创建mod。

  • Mod loading API(应用编程接口)标准化的东西,允许Mod之间兼容。官方Minecraft API尚未发布。在此期间,Minecraft开发者社区填补了这片空白:
  • ModLoader 是最旧的 API,在以前非常流行,在 Minecraft Forge 普及后它的受欢迎程度也渐渐消失了。
  • FML(Forge ModLoader)基本上只有Forge,但没有Forge API而且只是mod加载器。FML也与ModLoader、ModLoaderMP、LiteLoader和M3L反向兼容并且用途相同。FML支持小mod,但是Forge还可以支持大的Mod。Lex Manos开发了FML和Forge。FML可以 在这里下载。FML是开源的,其源代码可以在此处查看。自从1.1开始,FML就已经分别对Forge发布了 。modloader的mod用来作为java类,但是现在是.jar和.zip文件。FML可以在客户端和服务端运作。
  • Minecraft Forge与ModLoader、ModLoaderMP、LiteLoader和M3L反向兼容,同时添加了成千上万个的附加方法、类以及帮助Mod作者的实用工具。它增加了mods文件夹并且与安装器一并产生。它对客户端和服务端都有用。Forge已经被Risugami's ModLoader代替。Forge是和Forge API一起的FML。Forge自从Beta 1.7.3就有了。Forge和FML的制作者闻名于Lex Manos。Forge可以在此处下载。Forge是开源的,源代码可以在此处查看 。Minecraft支持包Forge文档ForgeGradle(也是开源的,代码可以在此处查看)、Forge安装器mod列表输出器(ModsList Outputter)DiscourseForge都是开源的。Forge与损坏的Java 8版本20兼容,但对于Java版本20的兼容性问题已经在LegacyJavaFixerMod修复。modloader的mod用来作为java的类,但现在是.jar和.zip文件。从Beta 1.7.3到正式版1.12.1,Forge对这些版本都支持。旧版本的Forge可以在此处此处此处下载。LuaForge是用Python和Lua编写并且也是开源的,开源代码可以在此处查看,然而该项目不再维护,只保留历史用途。
  • Bukkit是一个服务端流行的API。
  • 反编译 工具帮助你与 Minecraft 源代码一起工作,不过这并不是由 Mojang 发布的。
  • Minecraft Coder Pack 实用工具(MCP)是社区标准工具,用于反编译和反混淆 Minecraft 代码,让代码更容易修改和阅读。
  • 通用 Java 反编译器。例如 JDJADfernflower,会帮助你在 MCP 未发布或不可用(例如为快照编写 Mod)时查看代码。最好的一个可能是 CRF,因为它可能是唯一的支持最新 Java 和 JDK ,Java 8的 Java 反编译器这里是 Java 反编译器列表。
  • 一个 IDE集成开发环境)对于任何不平凡的开发都是有用的。MCP 会自动生成 Eclipse IDE 的项目文件。当前最流行的 IDE 是 Eclipse,但是其他2个竞争对手是 NetBeans(第二)和 IntelliJ(第三)。这里是所有 Java IDE 的列表。 Xcode 比 IntelliJ 还要流行,但 Xcode 仅可用于苹果电脑。
  • JBoss Developer 是一个大型的、非常好的 Eclipse 插件开发工具。i
  • 把源代码编译成编程语言。你可以在 GitHubBitBucket 看见你自己的 Mod 的源代码以及其他 Mod 的源代码。
  • Javac 是当下最流行的编译器。但是 Power J 编译器(第二)使用人数非常接近 Javac,曾经也都非常流行。紧随其后的是 Jikes(第三),ECJ(Eclipse Java 编译器)(第四)和GCJ(GNU Java 编译器)(第五)。这里,还有这里是 Java 编译器列表。
  • ECJ 是 Eclipse IDE 的一部分,Power J 是其他 IDE 的一部分。
  • 调试器用于搜索 Mod 代码里的漏洞并帮助修复它们。
  • 这里是一个调试器列表。
  • 简单 Mod 生成器,例如 Mod MakerMCreator,专门为不想编写和编译 Java 代码的 Mod 作者而制定。不推荐使用它们,因为它们创建的代码质量很低,并且有很大的限制。
  • 原始记录分析工具,许多这些工具都在 List#mcdevs Wiki 上有描述,对多人游戏 Mod 调试很有用。

Minecraft Forge API[编辑 | 编辑源代码]

Minecraft Forge API 对开发 Mod 来说是非常有用的。它最重要的功能就是避免 Mod 之间的冲突。它也包含了开发 Mod 的便利方法,使开发 Mod 更容易;例如, addSmelting 方法只需要一行代码就能添加烧炼配方。还有许多类似的方法。Forge API 教程随处可见,还有许多 YouTube 视频。这里是 Forge 官方下载点。

学习Java[编辑 | 编辑源代码]

此教学使用的Java语言可能会让新加入的玩家们感到困惑,以下一些链接介绍有关Java结构及各语法所代表的意义,建议不了解Java编程语言的玩家们先阅读这些链接。

要查看更多链接,请参见有用的链接

教程[编辑 | 编辑源代码]

警告:这些都是过时的 Risugami's modloader 的教程。

设置MCP的工作环境[编辑 | 编辑源代码]

设置MCP开发环境将让你可以获得Minecraft和ModLoader的源代码并开始制作你的Mod。这个教程提供安装Java开发者包,Minecraft Coder Pack,Eclipse 集成开发环境,以及其他用来编写Mod的程序/Mod 的详细步骤。这个教程同时适用于Windows,Mac和Linux操作系统。

开始制作你的第一个Mod[编辑 | 编辑源代码]

这个教程帮助你为你的第一个Mod安装并编辑首要的文件。这个文件有着非常重要的用途。在以后的教程中,你需要解释本教程中提到的代码。要学习这个教程,你需要先了解 设置MCP的工作环境 的内容。

Minecraft中的方法[编辑 | 编辑源代码]

这个教程中提供了一个表,介绍了如何在你的代码中调用模块、物品和实体。这些调用被按照函数的方法列了出来。这些将会在以后的许多教程中都十分有用。

添加一个方块/物品[编辑 | 编辑源代码]

这个教程将会教你如何创建你自己的方块。

这个教程将会教你如何创建你自己的物品。

创建生物[编辑 | 编辑源代码]

这个教程将会教你如何创建一个生物。

添加合成配方[编辑 | 编辑源代码]

这个教程教给你如何创造独特而简单的物品合成菜单,以及如何修改已经在游戏里的模块。它也会指导你创建无形的合成配方和冶炼配方。要学习这个教程,你需要先了解 开始制作你的第一个Mod 的内容。

创建新合成配方并不像看上去的那么困难。你只需要做的就是找出你想使用的物品和方块。然后插入要使用的物品,新的合成配方就完成了!

创建一套盔甲[编辑 | 编辑源代码]

重编译与重混淆[编辑 | 编辑源代码]

这个教程的规模比较小,讲的是通过检索你已创造或编辑的.class文件,并将其复制到minecraft.jar文件中,完成你的mod。只需要发送这些.class文件给其他玩家,安装ModLoader后他们就可以开始玩你的mod了。

小贴士[编辑 | 编辑源代码]

  • 一个最简单的mod类型就是增加一些新的模块或物品。复制一个相似的类,并进行必要的修改。如果新的模块或物品与已存在的物品分享了大部分的行为,那么就可以保留那些相同的部分,而只修改少量的不同部分。根据所期望的它的行为,以及它将如何与其他的对象进行交互,或许有必要对其他的类进行修改,但那会增加与其他mod冲突的可能性。

不使用 MCP 来开发 Mod[编辑 | 编辑源代码]

有时候不用 MCP 开发 Mod 是很有用的。例如,MCP 不会发布快照版。

为了不使用 MCP 开发 Mod,你必须反编译、反混淆代码或修改 Java 字节代码。反编译很容易,但是你只能反编译一些简单的类。