本书面向 Minecraft 模组的开发流程,帮助读者通过编程的方式实现自己梦想中的游戏特性。如果你对 Java 这门编程语言本身并不熟悉,在学完本书后将对 Java 这门编程语言有一个初步的认识,并将拥有开发 Minecraft 模组的基本能力。在玩游戏中学习编程知识,能够大大提高读者学习编程的兴趣。
《我的世界》(Minecraft)是一款风靡全世界的沙盒游戏,是目前 PC 游戏中畅销的游戏之一。作为一款拥有很大自由度的游戏,在社区中也存在一些基于 Minecraft 本身的修改行为,并以一种被称为模组(Mod)的方式广为传播。此外,通过编写 Java 程序的方式直接控制 Minecraft 的某些行为,在玩游戏中学习编程,能够大大提高青少年入门编程的兴趣。本书将聚焦于面向 Minecraft 模组的开发流程,读者在学习完本书后,将会拥有开发 Minecraft 模组的基本能力,如果读者对 Java 并不熟悉,那么读完本书后也将对 Java 有一个初步的认识。
本书可作为已经对 Minecraft 这款游戏有一定了解的玩家的模组开发入门教程,帮助玩家通过编程的 方式实现自己梦想中的游戏特性。本书也可作为已经对模组开发有一定认识的开发者的参考用书,对于 专注于旧版本模组开发的开发者,本书将介绍一些针对 Minecraft 新版本的全新特性。
第Ⅰ部分 整装待发
第 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
作为受本书影响而迈入模组开发的我来说,本书的确是难得的优质入门书籍,在当前中文开发资料相对匮乏的环境下尤为可贵。
——酒石酸菌(Minecraft 模组开发者、翻译者、教程作者)
在现今国内创作新人与老人出现技术断层的情况下,本书毫无疑问对Minecraft社区的发展是一个宝贵的贡献,读者能通过本书成为一位真正的开发者。在本书里有一种薪火传递的精神。
——梨木利亚(百度贴吧“Minecraft吧”吧主,MCBBS版主,“MC百科”总策划)
本书填补了国内 Minecraft Forge 模组开发线下教程的空白,为“萌新”带来了启蒙,对于对模组开发感兴趣却无从下手的人来说无疑是一大福音!
——重生是希望(“MC百科”站长)
本书深入地讲解了Minecraft 真实的模组开发环境,让读者可以切身体验到模组开发的过程,踏上Minecraft 模组开发的正途,是不可多得的优秀著作,真正的源于开发者,造福开发者。
——LocusAzzurro(Minecraft 社区知名多元内容创作者)