基包¶
基包(Base Pack)是Minecraft基岩版随游戏一同提供的原版资源与行为内容集合。基包构成了世界在没有自定义附加包时仍能正常运行的基础内容,也是资源包和行为包覆盖、继承或引用原版内容时所依赖的底层内容。
概述¶
基岩版的原版游戏内容并非完全写死在代码中。大量实体定义、纹理、模型、动画、声音、UI文件、配方、战利品表和世界生成数据都以类似资源包或行为包的形式组织。开发者通常将这些原版内容称为基包。
基包可以理解为游戏内置的最低层包。自定义资源包和行为包在加载时叠加在基包之上,因此它们可以引用原版资源,也可以覆盖部分原版定义。
资源基包与行为基包¶
基包可以按内容分为两类:
- 资源基包:包含原版纹理、模型、动画、声音、UI、粒子、迷雾等客户端资源。
- 行为基包:包含原版实体行为、物品和方块数据、配方、战利品表、生成规则、地物和生物群系等服务端数据。
资源包通常覆盖或引用资源基包中的内容,行为包通常覆盖或引用行为基包中的内容。二者共同组成原版游戏可被数据驱动系统读取的基础。
与基游戏版本¶
基游戏版本会影响世界加载的基础游戏内容。旧版世界或世界模板可以通过基游戏版本请求使用较旧的基础内容,以保持旧世界的行为和生成结果兼容。
这意味着基包不是单一静态概念。随着游戏更新,基包中的文件、定义和默认行为会发生变化;而世界的基游戏版本可能使游戏在兼容模式下使用与当前最新版不同的基础内容。
与自定义包¶
自定义包通常不需要包含完整的基包内容。资源包只需要提供要新增或覆盖的资源,行为包也只需要提供要新增或覆盖的数据。游戏会在解析时先拥有基包内容,再按照包栈顺序叠加用户启用的包。
直接复制并修改大量基包文件会增加维护成本。若游戏更新后基包文件结构或字段发生变化,旧的覆盖文件可能遮蔽新版内容,导致功能缺失或表现异常。因此,除非确实需要完整覆盖某个原版文件,否则更推荐进行最小范围的补充或覆盖。
开发用途¶
基包是理解原版数据驱动写法的重要参考。通过观察基包中的定义,开发者可以学习原版实体、资源、动画和世界生成内容的组织方式。但基包内容并不等同于稳定的公共接口,某些字段可能依赖硬编码逻辑或内部实现,不一定能被自定义内容完整复用。