中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作 中文Minecraft Wiki是完全公开的。欢迎持续参与翻译工作Minecraft中文Wiki微博现已创建!或许有兴趣去看看Minecraft中文Wiki微博现已创建!或许有兴趣去看看翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。

资源包

来自Minecraft Wiki
跳转至: 导航搜索

资源包(Resource pack)系统为材质包系统的API代替物,允许玩家更深度地自定义自己的Minecraft体验。资源包允许玩家自定义音乐、音效、语言文件、离开末路之地的显示文本和字体,而不用修改任何代码。

行为[编辑 | 编辑源代码]

资源包的选择菜单,上面的是 Ninety-Six ,接着是 Favorite Songs Pack,然后是默认的资源。

资源包可以放置在.minecraft里面的resourcepacks文件夹。每个资源包都由一个子文件夹或一个.zip文件,这个文件里面有resourcepacks文件夹。它被放置在文件夹里面后,就可以从选项菜单中添加资源包,这个资源包可以从“可用的资源包”移动到“已选的资源包”。“已选的资源包”下面的默认资源会始终存在,并且不能被移除。

资源包会按照列表上的顺序加载它们的资源。最下面的资源包(总是“默认”的那个)将会首先加载,然后每个资源包会代替上一个相同名称的资源。

默认资源包[编辑 | 编辑源代码]

把资源包打包为resources.zip的文件夹并且直接放到地图文件夹里面就可以与地图捆绑在一起了。当游玩这个地图时,资源包会自动出现在默认资源包的右上方。

通过向服务器属性文件里面resource-pack=一行更改为一个.zip文件的下载链接就能在服务器上设置默认资源包了。用户仍然可以选择使用或者选择不下载这个资源包。

主机版[编辑 | 编辑源代码]

主机版,混搭包(等价于资源包)作为可下载内容可以在 Xbox marketplace/Playstation store 或从游戏中的可下载内容段落中下载。Mash-up 包通常会包含一个皮肤包和一个主题世界。

内容[编辑 | 编辑源代码]

Minecraft 是通过根目录里的pack.mcmeta来识别一个资源包的,这个文件的格式为JSON格式。


  • 根标签

    •  pack: 保存资源包的信息

      •  pack_format: 资源包版本。如果这个数值与当前需要的数值不匹配,则资源包就会显示一个错误,进行附加确认后才能加载资源包。在1.9之前需要的数值为1,在1.91.10.22,在1.111.12中为3,在1.134

      •  description: 在资源包菜单里要显示的资源包名称。该文字将会显示为2行。如果文字太长,那么超长的部分就会被砍掉。

    •  language: 包含了要向语言菜单里添加的附加语言

      •  A language 一个语言的语言代码,其与文件夹里.lang的名字相同assets/minecraft/lang

        •  name: 语言的完整名称

        •  region: 国家或地区名称

        •  bidirectional: 若为 true,语言将会从右到左显示。

根目录也包含一个叫作pack.png的可选图像,这个图像将会在资源包选择菜单中作为资源包的缩略图显示。

语言[编辑 | 编辑源代码]

资源包可以在assets/minecraft/lang文件夹里创建对应类型的.lang语言文件。每个文件都将会取代默认的或排序在更低位的资源包的同名文件,或者它会根据pack.mcmeta的定义,创建一个新的语言。

语言文件的每一行都按照identifier=name的格式。identifier是游戏用于寻找某些东西的名称的标识符,这个标识符不应该被改变。name是要显示的名字,这个名字从等号开始到这一行的结束。例如,石头在默认语言文件里是tile.stone.stone.name=Stonetile.stone.stone.name是标识符,Stone是要显示的名称。

只需要在语言文件里添加上要改变的显示名称的那一行就可以了,所有不在资源包里面的名字都将会从下面的资源包里加载。如果所有的资源包都没有改变这个名称的话,将会加载默认的名称。

方块模型[编辑 | 编辑源代码]

方块模型是一些以 JSON 格式储存的,扩展名为.json的文件,这些文件决定了方块和物品的形状和材质。

方块使用assets/minecraft/blockstates的一个方块状态文件,来决定每个变种要从中加载的模型。同时,每个物品都有一个物品模型来决定它的模型,这个模型会从一个方块模型里加载,包含了它自己自定义的模型,或者使用默认的“平面”或“实体”模型。

如果没有被覆盖,那么在下面的资源包所使用的模型和方块状态仍然会被加载,这可能会导致一些材质和模型被上方的资源包使用,而没有被再次加载。

音效[编辑 | 编辑源代码]

资源包加载文件格式为.ogg的附加音效。每一个在资源包里面的音效都将会被下面的资源包覆盖。资源包包含一个sounds.json文件,其位置在assets/minecraft里。不像资源包里面的其它文件,sounds.json会合并下面的和上面的资源包的音效,而不是完全覆盖每个sounds.json文件。

材质[编辑 | 编辑源代码]

无效或材质丢失时使用的“丢失的材质”。

要让方块或物品材质工作,那么它们的宽度和高度必须相等(如果是动态材质,那么高度要是宽度的倍数);否则,只会显示黑紫方格交错的材质。对于其它多数材质,文件会被简单的拉伸,以符合所需的尺寸。

多数固体方块会把任何透明的地方变成完全不透明的。剩余的方块和多数的实体材质一起会允许材质有空白区域。所有的半透明的物品和任何方块/实体,都会默认支持半透明。

如果一个材质文件在任何的资源包(包括默认的)里都不存在,那么这个材质将会显示为一个黑紫方格交错的材质。

动态材质[编辑 | 编辑源代码]

方块和物品材质支持动态材质,在每一帧的下面放置另外一帧就能做成动态材质了。动态材质是被一个在相同目录,相同名称,以 JSON 格式存储的.mcmeta文件进行控制。例如,stone.png.mcmeta文件的文件名是stone.png.mcmeta


  • 根标签

    •  animation: 包含了动态材质的数据的标签

      •  interpolate: 若为 true,Minecraft 将会在帧与帧之间生成一张间隔时间大于1的帧。默认为false

      •  frametime: 设置在每个游戏刻内每一帧的时间增量。默认为1

      •  frames: 一个帧列表。帧的显示顺序默认为从上至下。

        • 指定开始播放的帧的位置,最上面的一帧为 0

        •  A frame 为每一帧指定附加数据

          •  index: 指定开始播放的帧的位置,最上面的一帧为 0

          •  time: 这一帧的显示时间(单位:刻),覆盖上面的“frametime”。

如果资源包里没有.mcmeta文件,并且材质是动态的,那么游戏将会认为这个材质不是动态材质,不会从下一个包继续加载.mcmeta文件。如果一个维度不相同的材质没有其对应的.mcmeta文件,那么这个材质将会显示为黑紫方格交错的材质。

颜色图[编辑 | 编辑源代码]

颜色图是一个 256×256 像素的图片,用于告诉游戏在每个生物群系要使用的颜色。它们的位置在assets/minecraft/textures/colormap里。游戏包含2张颜色图,一张是foliage.png,指定植物如叶子(除了桦木和云杉木)和藤蔓的颜色;还有一张是grass.png,指定草方块的颜色。颜色图可以通过移除个别方块上的tintindex标签而被禁用。

字体[编辑 | 编辑源代码]

字体文件包含一个白色字符的网格,这些字符会在游戏需要时自动被Minecraft上色。字符大小会根据含有Alpha值的最后一行像素自动决定。由于探明了字体的检测方式,因此用含有1% Alpha 颜色填充字符的背景部分将会导致把字符渲染为全宽度,字符也没有可见的背景。

属性[编辑 | 编辑源代码]

assets/minecraft/textures/misc里的材质支持用一个以JSON格式储存的.mcmeta文件来向材质应用附加效果。文件的位置与材质的位置处于同一目录,与材质的文件名也一样,除了.mcmeta后缀。例如,文件pumpkinblur.png对应的属性文件的文件名为pumpkinblur.png.mcmeta


  • 根标签

    •  texture: 包含了材质的数据

      •  blur: 指定从近距离观察时是否导致材质模糊。默认为false

      •  clamp: 指定是否在原来的情况下以伸展材质代替平铺材质。默认为false

如果资源包里材质文件对应的.mcmeta文件缺失,那么游戏将会加载默认设置,而不是从下一个资源包中继续加载.mcmeta文件。

文字[编辑 | 编辑源代码]

assets/minecraft/texts里的3个 UTF-8 格式的.txt文件储存了游戏要用来显示的文字。

文件end.txt含有终末之诗的文字,使用了样式代码的颜色代码来区分2个讲话人,文字PLAYERNAME将会被玩家名称代替。在展示完了这个文件的内容后,接着就会显示credits.txt的内容。

文件splashes.txt含有使用了换行符分隔的游戏闪烁标语。每个闪烁标语都可以用不同的文字代替,而这些闪烁标语将会代替默认的闪烁标语。

文件层次结构[编辑 | 编辑源代码]

历史[编辑 | 编辑源代码]

正式版
1.6.1 13w24a 加入了资源包,取代了材质包的功能。Minecraft Texture Ender是Mojang提供的,用于把可编译的1.5材质包转换为资源包。
1.6.2 修复了当使用HD字体时字体扭曲的问题。[1]
1.7.2 13w36a 加入了一次应用多个资源包的能力。
13w42a 把文件从assets/minecraft/music移动到assets/minecraft/sounds/musicassets/minecraft/sound里的文件也移动到assets/minecraft/sounds
1.7.4 13w48a 移除了更改Mojang徽标的能力。
1.8 14w06a 加入了更改方块模型的能力。
14w07a 资源包现在可以绑定在一张地图上了。
14w25a 模型格式现在支持自定义物体模型。
现在可以分别指定方块和物品的材质。
加入了用于动态材质的interpolate标签。
1.8.8 pre 如果资源包版本是错误的,则资源包现在会显示一个错误。此时,资源包需要的版本号是1
1.9 15w31a 资源包版本号被改为2
1.11 16w32a 资源包版本号被更改为3,这个版本需要资源包的所有文件的文件名使用小写字母。
携带版(Alpha)
0.15.0 加入了塑料资源包和城市资源包。
0.15.7 加入了自然资源包。
0.15.8 加入了幻想资源包。
0.16.2 加入了卡通资源包。
携带版
1.0.3 加入了糖果资源包。

你知道吗[编辑 | 编辑源代码]

  • 动态材质属性文件同时也包含附加的“width:”和“height:”标签来决定要平铺的像素大小,但是它们在原版游戏中没有效果,并且只被一些 Mod 材质使用。[2]

另请参阅[编辑 | 编辑源代码]

参考[编辑 | 编辑源代码]

Promotional Content