跳转至

资源包

资源包(Resource Pack)是附加包的一种类型,负责定义Minecraft基岩版游戏的视觉和听觉表现。资源包属于客户端内容,在客户端加载和渲染,不影响游戏的逻辑行为。

概述

资源包可以修改或替换游戏中的纹理、模型、动画、音效、粒子特效、用户界面、字体等几乎所有客户端资源。通过资源包,开发者可以创建全新的视觉风格,也可以对原版素材进行局部调整。

资源包的清单文件中,模块类型应设置为resources。一个资源包可以独立使用,也可以与一个或多个行为包配合使用。

目录结构

一个典型的资源包的文件结构如下:

  • manifest.json:清单文件。
  • pack_icon.png:包图标。
  • foldertextures/:纹理文件。
    • folderblocks/:方块纹理。
    • folderentity/:实体纹理。
    • folderitems/:物品纹理。
    • folderparticle/:粒子纹理。
    • folderenvironment/:环境纹理。
    • folderui/:界面纹理。
    • jsonitem_texture.json:物品纹理映射。
    • jsonterrain_texture.json:方块纹理映射。
    • jsonflipbook_textures.json:翻书动画纹理。
  • foldermodels/:模型文件。
    • folderentity/:实体模型。
    • folderblocks/:方块模型。
  • folderanimations/:动画文件。
  • folderanimation_controllers/:动画控制器文件。
  • folderrender_controllers/:渲染控制器文件。
  • folderentity/:客户端实体定义文件。
  • folderattachables/:附着物定义文件。
  • folderparticles/:粒子特效定义文件。
  • foldersounds/:音效文件。
    • jsonsound_definitions.json:音效定义。
  • jsonsounds.json:音效事件映射。
  • foldertexts/:本地化文件。
  • folderui/JSON UI文件。
  • folderfogs/:迷雾定义文件。
  • foldermaterials/:材质文件。
  • jsonblocks.json:方块渲染信息。
  • jsonbiomes_client.json:生物群系客户端信息。

资源覆盖

资源包通过资源栈(Resource Stack)机制实现叠加。排列在栈顶的资源包具有最高优先级。当多个资源包定义了同名的资源文件时,栈顶资源包的文件会覆盖下方资源包的文件。这种机制允许开发者只修改需要更改的文件,而无需重新创建完整的资源包。

全局与世界作用域

资源包可以作为全局资源包应用于所有世界,也可以作为世界资源包仅应用于特定世界。全局资源包在游戏主菜单的设置中管理,世界资源包在各个世界的设置中管理。

清单文件中的pack_scope字段可以限制资源包的可用作用域:

  • world:仅可作为世界资源包使用。
  • global:仅可作为全局资源包使用。
  • any:两种作用域均可使用(默认)。