在(菜单/选项/资源包)中所选资源包列表始终至少包含默认资源“默认”
默认资源用于设置Mojang在Minecraft中预设的游戏外观。它们被组合成一个资源包,它在程序启动时被加载。如果随后激活了其他资源包,则会使用其资源覆盖默认资源(仅限这些资源)。所有其他资源仍然是默认的。例如:如果资源包是仅包含材质(材质包或称为“纹理包”),声音保持不变。另一个例子:最小资源包可能只包含一个材质。所有其他纹理都不受影响,它们保持默认外观。
默认资源(assets=资源数据)可以在三个不同的位置找到:
- .minecraft/assets: Minecraft和Minecraft Realms的声音文件和所有文本数据翻译。
- minecraft.jar/assets: 纹理数据,模型数据,着色器数据,Minecraft的默认字幕以及一些未翻译的文本。
- realms.jar/assets: Minecraft Realms菜单的纹理数据和Minecraft Realms的默认字幕。
概述
| 位置 | 默认资源 | 可以用资源包更改 |
|---|---|---|
| .minecraft/assets | 图标数据 | 否 |
| 声音数据 | 是 | |
| 语音翻译数据 | 是 | |
| minecraft.jar/assets | 模型数据 | 是 |
| 模型数据 | 是 | |
| 着色器数据 | 是 | |
| 文本数据 | 是 | |
| 材质数据 | 是 | |
| realms.jar/assets | 语音翻译数据 | 是 |
| 材质数据 | 是 |
.minecraft/assets
一些默认资源存储在文件夹.minecraft/assets中。由于存在大量文件(超过700个),因此使用'Hashverfahren引入了程序访问的加速。这些文件不再像过去那样通过其文件夹结构找到,而是通过索引文件找到。
哈希方法和索引文件
对于hash method,使用称为“哈希值”的数学函数将每个标准资源的文件内容转换为十六进制字符串,并用作文件名。因此,例如, 文件minecraft/sounds/mob/horse/donkey/death.ogg(垂死的驴的声音文件)文件名ece3a1417e0eca0a748aafaf6cd9f5e99c314991。
- 该过程称为基于内容的索引,可以自行索引内容。对内容的任何更改都将产生新的哈希值,该哈希值将用作索引。相反,相同的内容给出相同的散列值。因此,程序还可以注意并放弃对资源的更改,而无需通过在线连接进行比较。只需声明文件内容与名称不匹配即可。只有这样才能重新加载原始资源。最明显的例子是皮肤程序:如果20名玩家将相同的皮肤上传到Mojang,他们将使用相同的文件。这样无论是谁使用它们,都可以节省空间,并且可以通过外观识别和查找外观,并且对于材质同样适用。
然而,因为用散列值命名的文件缺少文件类型的重要信息(例如,ogg用于声音文件),所以难以确定这些文件。尽管如此,如果您知道它是什么类型的数据,您可以使用适当的程序轻松打开它。
将哈希值分配给原始文件名通过索引文件进行。它列出了具有哈希值和原始文件名的所有标准资源。随着游戏的进行,默认资源可能会发生变化。因此,对于游戏的每个版本都有一个匹配的索引文件,它由启动器自动下载并放在索引文件夹.minecraft/assets /indexes中,一旦相应的Minecraft版本第一次启动。索引文件带有相关的版本名称,例如 1.7.10.json,1.8.json或1.9.json。
实际的默认资源位于.minecraft/assets/对象文件夹中。由于频繁读写文件夹会降低访问速度,因此资源会在其哈希值的前两个字符之后分组到子文件夹中。垂死驴的声音文件,名称以ec开头,位于子文件夹.minecraft/assets/objects/ 内。
查找资源
要查找特定资源,请使用文本编辑器打开所需Minecraft版本的索引文件,然后按文件路径或文件名搜索资源。例如,如果您搜索“驴”,您将找到所有驴声文件。
现在获取您要查找的资源的哈希值的前两个字符,转到.minecraft/assets/对象 的相应子文件夹并在那里找到该文件。它的哈希值作为文件名,但可以使用适当的程序打开其文件类型(例如,声音文件的音频程序)。如果文件不被程序打开,有可能是哈希值名称没有文件扩展名,则可以通过在索引文件中附加文件类型来复制文件并相应地重命名该文件(例如,声音文件 .ogg)。
索引文件的结构
Index文件的结构:
- Template:JSON 未命名的主要功能。
- Template:JSON true或false。只要启动器中有一个配置文件,在前面有一个Minecraft版本,资源也会在之前使用的树结构中创建。 为此,游戏创建文件夹。Minecraft/assets/virtual/legacy,其中包含最多的所有资源(包括)是必要的。 关联的索引文件名为legacy.json(legacy= legacy)。 它包含“virtual:true”行。 默认值为“false”,可以省略。
- Template:JSON 所有资源。
- Template:JSON 资源名称。资源的虚拟文件夹和文件名,例如:sounds/mob/horse/donkey/death.ogg为垂死驴的声音文件。
- Template:JSON 资源的哈希值,也是资源的文件名,例如:
ece3a1417e0eca0a748aafaf6cd9f5e99c314991为垂死驴的声音文件。 - Template:JSON 文件大小(以字节为单位)。
- Template:JSON 资源的哈希值,也是资源的文件名,例如:
- Template:JSON 资源名称。资源的虚拟文件夹和文件名,例如:sounds/mob/horse/donkey/death.ogg为垂死驴的声音文件。
资源包
对于资源包,通过的是树状结构,而不是散列和索引访问工作。因此资源包没有索引文件,资源可以根据树状结构制作。
默认资源文件
.minecraft中的默认资源具有以下结构:
- Template:JSON Die Standard-Ressourcen.
- Template:JSON Enthält die Indexdateien der Standard-Ressourcen. Diese enthalten jeweils Dateiname und Hashwert von folgenden Standard-Ressourcen:
- pack.mcmeta: Definitionsdatei für das Ressourcenpaket der Standard-Ressourcen.
- sounds.json: Textdatei mit der Verknüpfung von Geräusch-Ereignissen und Geräuschdateien.
- minecraft/sounds: Alle Sounddaten (hier die Unterordner).
- minecraft/lang: Alle Sprachdateien, d.h. die Übersetzungen für Minecraft. Die Dateinamen bestehen aus einem Kürzel für die Sprache und einem Kürzel für das Land.
- realms/lang: Alle Sprachdateien für Minecraft Realms.
- minecraft/icons: Die Icondaten für das Spiel.
- icons: Die selben Ressourcen wie minecraft/icons, nur unter anderem Namen.
- Template:JSON Enthält die Einstellung für die Anzeige der Client-Protokolldateien als XML-Dateien. Das Format ändert sich nicht so häufig, es gibt client-1.7.xml und client-1.12.xml.
- Template:JSON Enthält die eigentlichen Standard-Ressourcen sortiert nach ihren Hashwerten.
- Template:JSON Die Ressourcen stehen in Unterordnern, die die ersten zwei Zeichen ihrer Hashwertes tragen.
- Template:JSON Enthält in Unterordnern die Skins der Spieler, die man auf den Servern, die man besucht hat, gesehen hat. Wie die Standard-Ressourcen haben die Skin-Dateien einen Hashwert als Dateinamen. In Wirklichkeit sind sie aber Bilddateien, die man mit einem Bildanzeigeprogramm öffnen kann.
- Template:JSON Die Skins stehen in Unterordnern, die die ersten zwei Zeichen ihrer Hashwerte tragen.
- Template:JSON Dieser Ordner wird nur angelegt, wenn ein Launcher-Profil mit einer Minecraft-Version vor 1.7.3 existiert. Der Ordner enthält die alten Standard-Ressourcen in der Baumstruktur, die vor Einführung des Hashverfahrens verwendet wurde.
- Template:JSON Die alten Standard-Ressourcen.
- Template:JSON Die Icondaten für das Spiel.
- Template:JSON Alle übersetzten Sprachdateien. Die Standard-Sprachdatei "en_US.lang" steht weiterhin unter minecraft.jar/assets.
- Template:JSON Die Sounddateien für die Hintergrundmusik. Dieser Ordner entspricht der Baumstruktur bis zur inklusive. Ab ist dieser Ordner ein Unterordner des sounds-Ordners.
- Template:JSON Die Sounddateien für die Schallplatten. Für diesen Ordner gilt dasselbe, wie für music.
- Template:JSON Die Sounddateien für Geräusche. Für diesen Ordner gilt dasselbe, wie für music.
- Template:JSON Alle Sounddateien in der Baumstruktur, die mit eingeführt wurde.
- Template:JSON Textdatei, die einen Zeitstempel (Datum, Uhrzeit) der letzten Benutzung der alten Ressourcenstruktur enthält.
- Template:JSON Definitionsdatei für das Ressourcenpaket der Standard-Ressourcen.
- Template:JSON Textdatei mit dem Hinweis, dass die Standard-Ressourcen automatisch synchronisiert werden, eine Änderung an dieser Stelle also sinnlos ist. Zum Ändern von Ressourcen sei das Konzept der Ressourcenpakete vorgesehen. Der originale Wortlaut des Hinweises steht in diesem Abschnitt.
- Template:JSON Textdatei mit einer Liste sämtlicher Sounddateien.
- Template:JSON Die alten Standard-Ressourcen.
- Template:JSON Enthält die Indexdateien der Standard-Ressourcen. Diese enthalten jeweils Dateiname und Hashwert von folgenden Standard-Ressourcen:
minecraft.jar/assets
minecraft.jar直接存放。因此,它们针对每个程序版本独立存放。这涉及材质,着色器,模型数据和默认语言“English (US)”。
启动器允许启动不同的程序版本。它们都在.minecraft/versions文件夹中。有一个选择具有所需版本的文件夹,并打开带有相应程序的压缩jar文件,例如7zip。jar文件包含'assets'文件夹,其具有以下结构:
- Template:JSON Die Standard-Ressourcen.
- Template:JSON Die Minecraft-Standard-Ressourcen.
- Template:JSON Die Blockzustandsdateien, die für jeden Blockzustand zu einer passenden Texturdatei verweisen.
- Template:JSON Schriftzeichengröße.
- Template:JSON Die Sprachdatei "en_US.lang" mit den Original-Beschriftungen des Spiels in der Standardsprache English (US). Alle anderen Sprachdateien stehen unter .minecraft/assets.
- Template:JSON Die Modelldaten für die dreidimensionale Darstellung von Blöcken und Gegenständen (hier die Unterordner).
- Template:JSON Die Shaderdaten für grafische Effekte im Spiel (hier die Unterordner).
- Template:JSON Die Textdaten, die nicht in der Sprachdateien enthalten sind und für die daher standardmäßig keine Übersetzung existiert. Mit einem Ressourcenpaket kann jedoch eine Übersetzung eingebunden werden.
- Template:JSON Die Texturdaten für die Oberflächen von Blöcken, Gegenständen, Objekten, für die Benutzeroberfläche und für die Schriftdaten (hier die Unterordner).
- Template:JSON Eine leere Datei die anzeigt, dass hier die Ressourcen beginnen.
- Template:JSON Die Minecraft-Standard-Ressourcen.
realms.jar/assets
Realms的函数和标准资源存储在单独的Java压缩文件realms.jar中。它可以在.minecraft/libraries/com/mojang/realms文件夹中找到。有人选择具有所需realms版本的文件夹(这不是Minecraft版本)并打开带有相应程序的压缩jar文件,例如:7zip。jar文件包含assets文件夹,其具有以下结构:
- Template:JSON Die Standard-Ressourcen.
- Template:JSON Die Minecraft Realms-Standard-Ressourcen.
- Template:JSON Die Sprachdatei "en_US.lang" mit den Original-Beschriftungen für die gesamte Realms-Benutzeroberfläche in der Standardsprache English (US). Alle anderen Sprachdateien stehen unter .minecraft/assets.
- Template:JSON Die Texturdaten für die Benutzeroberfläche von Minecraft Realms.
- Template:JSON Die Minecraft Realms-Standard-Ressourcen.
READ_ME_I_AM_VERY_IMPORTANT.txt
对Minecraft默认资源的更改没有任何影响,因为程序会在每个程序启动时补偿所有默认资源,并在必要时将其更正为默认。在专门指出了一个名为READ_ME_I_AM_VERY_IMPORTANT.txt的文本文件,其中包含以下内容:
_ _ ___ ______ _ _ _____ _ _ _____ | | | |/ _ \ | ___ \ \ | |_ _| \ | | __ \ | | | / /_\ \| |_/ / \| | | | | \| | | \/ | |/\| | _ || /| . ` | | | | . ` | | __ \ /\ / | | || |\ \| |\ |_| |_| |\ | |_\ \ \/ \/\_| |_/\_| \_\_| \_/\___/\_| \_/\____/ (Sorry about the cheesy 90s ASCII art.) Everything in this folder that does not belong here will be deleted. This folder will be kept sync with the Launcher at every run. If you wish to modify assets/resources in any way, use Resource Packs. Ta, Dinnerbone of Mojang