我的世界:Minecraft模组开发指南
  • 推荐12
  • 收藏10
  • 浏览9.3K

我的世界:Minecraft模组开发指南

土球球 (作者) 

  • 书  号:978-7-121-35851-7
  • 出版日期:2020-07-01
  • 页  数:296
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:孔祥飞
电子书 ¥48.30
购买电子书
纸质版 ¥69.00
《我的世界》(Minecraft)是一款风靡全世界的沙盒游戏,是目前 PC 游戏中畅销的游戏之一。作为一款拥有很大自由度的游戏,在社区中也存在一些基于 Minecraft 本身的修改行为,并以一种被称为模组(Mod)的方式广为传播。此外,通过编写 Java 程序的方式直接控制 Minecraft 的某些行为,在玩游戏中学习编程,能够大大提高青少年入门编程的兴趣。本书将聚焦于面向 Minecraft 模组的开发流程,读者在学习完本书后,将会拥有开发 Minecraft 模组的基本能力,如果读者对 Java 并不熟悉,那么读完本书后也将对 Java 有一个初步的认识。
本书可作为已经对 Minecraft 这款游戏有一定了解的玩家的模组开发入门教程,帮助玩家通过编程的 方式实现自己梦想中的游戏特性。本书也可作为已经对模组开发有一定认识的开发者的参考用书,对于 专注于旧版本模组开发的开发者,本书将介绍一些针对 Minecraft 新版本的全新特性。
知名 Minecraft 社区创作者倾情奉献,适合初学者学习模组开发,能够提升对Java编程语言的了解。帮助读者通过编程的方式,实现梦想中的游戏特性!
土球球,Minecraft 社区创作者,前 Infinity Studio 小组成员,Command Block Logic 小组正式成员,《我的世界》中文论坛(MCBBS)编程开发版版主,网易《我的世界》中国版开发者大会受邀嘉宾。擅长 Minecraft 模组开发及原版命令创作,拥有多年 Java 编程经验和模组开发经验。其 Minecraft 模组开发系列教程《Minecraft 1.8.9 FML Mod开发教程》和近年来在知乎专栏“Modded Minecraft Dev”发表的大量教程,在Minecraft 的相关网上社区被广为传播,深受广大读者欢迎。
作为一款总销量过亿份、PC 版销量突破三千万份的沙盒游戏,Minecraft 已经成为国内青少年群体中广泛流行的游戏之一。Minecraft 的最初版本由瑞典公司 Mojang AB 开发并在 PC 上 运行,其使用 Java 进行编写,是目前世界上畅销的电子游戏之一。
作为一款拥有极大自由度的沙盒游戏,从 Minecraft 测试版发布就开始了针对Minecraft 游戏本身的修改。这类改动通常被称为模组(Mod,由 Modifification 的前三个字母得名)。当时的模组和现在的模组的安装方式不同,是通过替换 Minecraft 游戏本体的方式完成的,这样不仅不方便,还容易引起不同 Mod 之间的冲突。而现在的 Mod 安装方式十分方便,我们只需要把若干个带 jar 后缀的文件放进 mods 目录下,然后启动游戏就可以了。
这归功于一类被称为 ModLoader 的特殊 Mod。ModLoader 本身也经历了若干代演化,目 前十分流行的 ModLoader 由一个被称为 MinecraftForge 的组织提供。与此对应的 ModLoader 的名称为 ForgeModLoader,简称 FML。当然,目前还有一些知名度比较高的 ModLoader,如 LiteLoader 等。本书只针对 FML 来讲。
包括 FML 在内的这些 ModLoader 的主要作用只有一个——把模组从 mods 目录中取出, 然后按照一套约定俗成的方式加载,并执行其中的部分代码。即使这样,Mod 之间的冲突仍然 经常发生。因此,MinecraftForge 同时也提供了一套接口(Application Programming Interface,API),以供 Mod 作者调用,大大减少了 Mod 之间的相互冲突,这套接口被称为 ForgeAPI。在通常情况下,玩家不会刻意去区分 FML 和 ForgeAPI,因为在大多数情况下,这两者都是同时被提及的。
通过本书的学习,读者能掌握编写 Minecraft 模组的基本方法,从而为进一步的模组开发打下基础。同时,这本书也可以帮助开发者对 Java 面向对象的编程语言有更深层次的了解。这本书是做什么的顾名思义,这本书是帮助Minecraft玩家入门模组开发的。本书不针对Minecraft的其他版本,如 Bedrock Edition 等。此外,对于不同的 Minecraft 版本,编写模组的方式也各不相同,为了不落后于游戏本身的发展,本书内容基于目前 Mod 社区十分流行的 Minecraft 版本——1.12.2之上。

我不会 Java,这本书适合我吗
你完全可以阅读这本书。Minecraft 游戏是由 Java 编写的,因此,这本书讲解的编程知识将只会考虑 Java。考虑到这一点,这本书会在讲解过程中,穿插一些编程的基础知识,可以使对 Java 还不熟悉的开发者快速了解 Java 的基础框架。当然,编写模组有时会用到一些更高级的 Java 知识,在通常情况下,对 Java 不熟悉的开发者很难遇到这些知识。作者将会在本书第 10 章提醒读者阅读相关的资料。

我可以使用我熟悉的 C/C++/C#/Python/JavaScript 等语言吗
非常遗憾,不可以。使用 Java 编写模组是接触并修改 Minecraft 的内部逻辑很好的方式。 其他语言或许可以编写模组,但在实际应用中会非常困难。当然,Java 作为一门语法相对简单的编程语言,我相信有一定编程基础的读者会很快学会它的。另外,有一些编程语言和 Java 有着千丝万缕的联系,实际上也可以用于 Minecraft 的模组编写,不过在这本书里不讨论这类语言。

这本书可以让我成为一名熟练使用 Java 的开发者吗
非常遗憾,也不可以。这本书虽然会介绍一些关于 Java 的知识,但这些知识只是为完成本书涉及的编写模组任务的,还没有完全覆盖编写 Java 代码所需要的所有知识。如果读者想要写出更好的模组,则需要阅读专门讲解 Java 的参考书。事实上,作者也不建议开发者在对 Java 还不熟悉的时候就试图规划编写一个成体系的模组。

在硬件方面,有什么需要准备的吗
实际上,作为一款游戏,编写 Minecraft 模组的确对你使用的计算机硬件有一定的要求。一个基本的要求是内存空间至少为 4GB,在这里建议读者使用 64 位的操作系统,并拥有至少 6GB 的物理内存。另外一个要求是你需要一个比较好的网络环境。大量与开发模组有关的资源都需要从网络上下载,这不可避免地会涉及一些资源,考虑到网络大环境,读者可能需要在编写模组之前,自行准备一些必要的网络工具。

目录

第Ⅰ部分 整装待发
第 1 章 电子游戏与 Mod 开发 / 2
1.1 电子游戏的运行机制 / 2
1.2 Mod 在游戏程序中的地位 / 5
1.3 本章小结 / 10

第 2 章 开发环境的准备工作 / 11
2.1 配置 Java 开发环境 / 11
2.2 配置 MinecraftForge 开发环境 / 14
2.3 第一个 Mod 的构建与运行 / 18
2.4 本章小结 / 22

第Ⅱ部分 小试牛刀
第 3 章 基础知识 / 26
3.1 类型、字段、方法和注解 / 26
3.2 ModID 和其他信息 / 35
3.3 Forge 的事件系统 / 42
3.4 状态和控制 / 48
3.5 本章小结 / 53

第 4 章 面向方块和物品 / 56
4.1 新的物品 / 56
4.2 新的方块 / 65
4.3 面向对象的三大特征 / 74
4.4 本章小结 / 78

第 5 章 尝试交互 / 80
5.1 创造模式物品栏 / 80
5.2 新的工具 / 90
5.3 新的盔甲 / 100
5.4 为物品添加配方 / 109
5.5 本章小结 / 114

第 6 章 深入游戏体验 / 116
6.1 新的烧炼规则和燃料 / 116
6.2 新的附魔 / 123
6.3 新的村民交易 / 132
6.4 新的药水效果 / 146
6.5 客户端和服务端的差异 / 159
6.6 本章小结 / 163

第Ⅲ部分 登堂入室
第 7 章 会动的长方体 / 166
7.1 新的实体生物 / 166
7.2 生物的长方体模型 / 171
7.3 生物模型的转动 / 184
7.4 生物的行为逻辑 / 190
7.5 生物属性和数据同步 / 195
7.6 生物的世界生成 / 208
7.7 生物的死亡掉落 / 212
7.8 Minecraft 的 NBT 系统 / 215
7.9 本章小结 / 220

第 8 章 技高一筹 / 222
8.1 新的投掷物 / 222
8.2 新的附加属性 / 228
8.3 属性框渲染 / 236
8.4 调整提示文本 / 248
8.5 本章小结 / 253

第 9 章 眼见为实 / 254
9.1 方块状态与朝向 / 254
9.2 为方块绘制 GUI / 261
9.3 为 GUI 添加物品槽 / 267
9.4 游戏逻辑与进度条 / 273
9.5 本章小结 / 278

第 10 章 展望未来 / 280
10.1 成为一名合格的 Mod 开发者 / 280
10.2 探寻内部机制——Forge 是如何运作的 / 281
10.3 相关资源 / 284

后记 / 285
鸣谢 / 286

读者评论

  • 666

    LHYPeter发表于 2023/2/1 21:35:41
  • 作者的github仓库地址是什么啊

    jdz08发表于 2022/6/5 15:26:30
  • 为什么我下载的本书的文件缺少了很多东西

    Jacky发表于 2020/12/12 20:35:06
    • 全部内容要在GitHub上获取

      andy2013发表于 2022/1/26 19:05:54

相关图书

扣人心弦:游戏叙事技巧与实践

Evan Skolnick (作者) 李天颀 李享 (译者)

作者凭借多年一线游戏叙事开发经验,以及多年在GDC(Game Developers Conference,游戏开发者大会)上召开专题研讨会的经验,总结了一套完整...

¥79.00

平衡掌控者——游戏数值经济设计

李磊 (作者)

本书由真正从事游戏行业工作的一线人员所著,书中的全部案例来自真实的游戏设计案例。全书一共分为7章,第1章介绍数值策划在职场中的发展路线,第2章介绍Excel在数...

¥55.30

游戏设计、原型与开发:基于Unity与C#从构思到实现(第2版)

Jeremy Gibson (作者) 姚待艳 刘思嘉 张一淼 (译者)

这是一本将游戏设计理论、原型开发方法以及编程技术巧妙结合在一起的书,目的是填补游戏设计与编程开发之间的缺口,将两者联系起来。随着Unity 游戏开发技术日趋成熟...

¥188.00

游戏感:游戏操控感和体验设计指南

[美] Steve Swink 著 (作者) 腾讯游戏 译 (译者)

优秀的电子游戏相比伟大的电子游戏差在哪里?为什么一个简单的动作(如"跳”)在不同的电子游戏中给人的感觉会不一样?是什么成就或者毁掉一款电子游戏?...

 

游戏情感设计:如何触动玩家的心灵

Katherine Isbister (作者) 金潮 (译者)

电子游戏是如何创造情感的呢?在本书中, Katherine Isbister 描述了选择和心流这两种可以将游戏和其他媒体区分开来的品质,并解释了游戏开发者们是如...

¥65.00

产品为王:移动游戏产品设计规则

林宾华 (作者)

本书基于国内当前游戏行业背景而创作,通过 7 个章节,分别从产品框架搭建、品牌及文化衔接、游戏核心系统、游戏数值架构、无所不在的惊喜、产品内容呼应设计以及产品个...

¥69.00