
Текстуры по умолчанию с настраиваемым пакетом ресурсов (Soartex Fanver) в центре.
Система пакетов ресурсов позволяет игрокам настраивать текстуры, модели, музыку, звуки, языки, тексты, такие как финальное стихотворение, всплески и титры, а также шрифты без каких-либо изменений кода.
Java Edition
Поведение

Настройки пакета ресурсов по умолчанию.
Пакеты ресурсов можно размещать в папке resourcepacks
в папке .minecraft
. Каждый пакет ресурсов представляет собой подпапку или файл .zip
в папке resourcepacks
. Попав в папку, пакет ресурсов можно добавить из опций, при этом пакеты ресурсов можно перемещать между «Доступными пакетами ресурсов» и «Выбранными пакетами ресурсов». «Выбранные пакеты ресурсов» также содержат активы по умолчанию внизу, которые нельзя удалить.
Пакеты ресурсов загружают свои ресурсы в зависимости от порядка пакетов в списке. Сначала загружается самый нижний пакет, затем каждый пакет, помещенный над ним, заменяет активы с тем же именем своими активами.
Пакеты ресурсов по умолчанию
Пакет ресурсов может быть в комплекте с миром, сохранив его под именем resources
и поместив прямо в папку мира. При воспроизведении мира этот пакет ресурсов отображается по умолчанию прямо над пакетом ресурсов по умолчанию. Пакет ресурсов по умолчанию также можно установить на сервере, добавив ссылку на загрузку файла .zip
после строка resource-pack =
в файле свойств сервера. Однако пользователи могут отказаться от использования пакета ресурсов или не загружать его.
Старые текстуры (до 1.14) доступны в пакете ресурсов под названием «Programmer Art». Эти текстуры не обновляются, когда игра получает новые текстуры.
Структура папок
В каталоге assets
может существовать более одного каталога для разных пространств имен.
Содержание
Пакет ресурсов идентифицируется Minecraft на основании наличия файла pack.mcmeta
в корневом каталоге, который содержит файл JSON со следующей информацией:
- Корневой тег
- pack: содержит информацию о пакете ресурсов
- pack_format: версия пакета. Если это число не совпадает с текущим требуемым числом, в пакете ресурсов отображается ошибка и требуется дополнительное подтверждение для загрузки пакета. Требуется
1
для 1.6.1–1.8.9,2
для 1.9–1.10.2,3
для 1.11– 1.12.2,4
для 1.13–1.14.4,5
для 1.15–1.16.1,6
для 1.16 .2–1.16.5 и7
для 1.17. - description: текст, отображаемый под именем пакета в меню пакета ресурсов. Текст отображается на двух строках. Если текст слишком длинный, он обрезается.
- description: содержит необработанный текстовый объект JSON, который вместо этого отображается как описание пакета в меню пакета ресурсов. То же поведение, что и версия
string
тегаdescription
, но они не могут существовать вместе.
- pack_format: версия пакета. Если это число не совпадает с текущим требуемым числом, в пакете ресурсов отображается ошибка и требуется дополнительное подтверждение для загрузки пакета. Требуется
- language: содержит дополнительные языки для добавления в языковое меню
- Код языка для языка, соответствующий файлу .json с тем же именем в папка assets/ /lang .
- name: полное название языка
- регион: название страны или региона.
- двунаправленный: если true, язык читается справа налево.
- Код языка для языка, соответствующий файлу .json с тем же именем в папка assets/ /lang .
- pack: содержит информацию о пакете ресурсов
Корневой каталог также содержит необязательное изображение с именем pack.png , которое отображается в виде эскиза для пакета в меню выбора пакета ресурсов.
Language
Пакеты ресурсов могут создавать языковые файлы типа .json
в папка assets/ /lang
. Каждый файл либо заменяет информацию из файла с тем же именем в пакете по умолчанию или в пакете более низкого уровня, либо создает новый язык, как определено в pack.mcmeta
.
Каждая строка в файле .json
имеет стандартный формат json " identifier ": " name "
, за которым следует запятая, если в следующей строке следует другое значение. identifier
— это имя, которое ищет игра, чтобы определить имя для чего-либо, и поэтому его нельзя изменять. name
— это отображаемое имя. Например, камень в языковом файле по умолчанию — это "block.minecraft.stone": "Stone"
с идентификатором block.minecraft.stone
, и Stone
— отображаемое имя. Пустые строки игнорируются. Файл должен иметь допустимый синтаксис JSON, то есть он начинается с {
, имеет запятую после каждой пары значений ключа, кроме последней, и заканчивается }
.
В языковые файлы нужно добавлять только те строки, которые изменяются пакетом. Любые имена, которых нет в пакете, загружаются из пакета ниже или по умолчанию, если ни один пакет не меняет имена.
Модели
Модели — это файлы в формате JSON с расширением . json
, которые определяют форму и текстуры блоков и элементов.
Блоки используют файл состояния блока из assets/minecraft/blockstates
, чтобы определить, какие модель загружается для каждого варианта из папки assets/minecraft/models/block
. Между тем, каждый элемент имеет модель элемента в assets/minecraft/models/item
для определения его модели, которая либо загружается из модели блока, либо содержит данные для своей собственной пользовательской модели, либо использует значение по умолчанию. «плоская» или «сущностная» модель.
Модели и состояния блоков, используемые в пакетах ниже верхнего, по-прежнему загружаются, если они не переопределены в верхнем пакете, что может вызвать некоторые текстуры и модели, используемые верхним pack больше не загружается.
Звуки
Пакеты ресурсов загружают дополнительные звуки с типом файла .ogg
. Каждый звук, помещенный в пакет, переопределяет звуки из пакетов ниже, и пакеты также содержат файл с именем Sounds.json
, который находится в assets/minecraft
. В отличие от большинства других файлов в пакетах ресурсов, Sounds.json
объединяет звуковую информацию из пакетов ниже верхнего пакета, а не каждый файл Sounds.json
, полностью перекрывая предыдущий. .
Текстуры

«Отсутствующая текстура» для недопустимых или отсутствующих текстур.
Чтобы текстуры блока или элемента функционировали, они должны иметь одинаковые ширина и высота (или высота, кратная ширине при анимации); в противном случае он выглядит как пурпурно-черная шахматная доска. Для большинства других текстур файл растягивается до требуемых размеров.
Большинство твердых блоков делают любую прозрачную область полностью непрозрачной. Некоторые другие блоки, которые имеют «вырезанную» прозрачность (например, стекло), превращают все пиксели с непрозрачностью менее 10% полностью прозрачными, а все остальные пиксели полностью непрозрачными. Каждый второй блок рендерит текстуры с полупрозрачностью как есть. Все элементы и любые блоки или объекты, которые по умолчанию являются полупрозрачными, поддерживают полупрозрачность.
Если файл не существует ни в одном пакете ресурсов, включая значение по умолчанию, он отображается как пурпурный и черный текстура шахматной доски с использованием цветов (
# f800f8 и
# 000000).
- Анимация
Текстуры блоков и предметов поддерживают анимацию, помещая каждый дополнительный кадр ниже последнего. Затем анимация управляется с помощью файла .mcmeta
в формате JSON с тем же именем и .png
в конце имени файла в том же каталоге. Например, файл .mcmeta
для stone.png
будет иметь вид stone.png.mcmeta
.
- Корневой тег
- animation: содержит данные для анимации
- интерполировать: если true, Minecraft генерирует дополнительные кадры между кадрами с временем кадра больше 1 между ними. По умолчанию
false
. - width: ширина плитки в прямом соотношении, а не в пикселях. Это не используется в ванильных файлах, но может использоваться пакетами ресурсов, чтобы иметь кадры, не являющиеся точными квадратами.
- height: Высота плитки в прямых пикселях, а не в пикселях. Это не используется в обычных файлах, но может использоваться пакетами ресурсов, чтобы иметь кадры, не являющиеся точными квадратами.
- frametime: устанавливает время по умолчанию для каждого кадра с шагом в один игровой тик. По умолчанию
1
. - frames: содержит список кадров. По умолчанию все кадры отображаются сверху вниз.
- Число, соответствующее положению кадра сверху, причем верхний кадр равен 0
- Кадр указывает кадр с дополнительными данными.
- index: число, соответствующее положению кадра сверху, при этом верхний кадр равен 0
- time: Время в отметки, чтобы показать этот кадр, переопределяя «время кадра» выше.
- интерполировать: если true, Minecraft генерирует дополнительные кадры между кадрами с временем кадра больше 1 между ними. По умолчанию
- animation: содержит данные для анимации
Если файл .mcmeta
не существует в пакете, а текстура существует, игра предполагает, что текстура не анимирована, а не загружает .mcmeta
из пакета ниже этого пакета. Если для текстуры с разными размерами не существует файла .mcmeta
, текстура отображается в виде фиолетово-черной шахматной доски.
- Жители деревни
Текстуры из assets/minecraft/textures/entity/villager
и assets/minecraft/textures/entity/zombie_villager
support файл .mcmeta
в формате JSON, содержащий дополнительные эффекты для применения к слою шляпы. Файл находится в том же каталоге, что и текстура, и имеет то же имя, что и текстура, за исключением добавления .mcmeta
. Например, файл Professional/farmer.png
может иметь файл свойств с именем profession/farmer.png.mcmeta
- Корневой тег
- сельский житель: содержит данные для текстуры.
- шляпа: должен ли слой шляпы сельского типа по-прежнему оставаться рендеринг (по умолчанию) или не
full
. [ требуется дополнительная информация ]
- шляпа: должен ли слой шляпы сельского типа по-прежнему оставаться рендеринг (по умолчанию) или не
- сельский житель: содержит данные для текстуры.
Если файл .mcmeta
не существует в пакете, а текстура существует, игра загружает настройки по умолчанию, а не загружает .mcmeta
из пакета ниже этого пакета.
- Цветовые карты
Цветовые карты — это изображения размером 256 × 256 пикселей, которые сообщают игре какой цвет использовать в каждом биоме. Они расположены в assets/minecraft/textures/colormap
. Игра содержит две цветовые карты: foliage.png
, который окрашивает растения, такие как листья (кроме березы и ели) и лианы, и grass.png
, которое окрашивает траву и блоки травы. Цветовые карты можно отключить для отдельных блоков, удалив тег tintindex
из блочной модели..
- Properties
Текстуры из assets/minecraft/textures/misc
поддерживают .mcmeta
файл в формате JSON, содержащий дополнительные эффекты для применения к текстуре. Файл находится в том же каталоге, что и текстура, и имеет то же имя, что и текстура, за исключением добавления .mcmeta
. Например, файл pumpkinblur.png
может иметь файл свойств с именем pumpkinblur.png.mcmeta
- Корневой тег
- texture: содержит данные для текстуры
- blur: заставляет текстуру размываться при просмотре с близкого расстояния. По умолчанию
false
- clamp: заставляет текстуру растягиваться, а не мозаично в тех случаях, когда иначе, например на тени. По умолчанию
false
- mipmaps: пользовательские значения mipmap для текстуры
- blur: заставляет текстуру размываться при просмотре с близкого расстояния. По умолчанию
- texture: содержит данные для текстуры
Если файл .mcmeta
не существует в пакете, а текстура существует, игра загружает настройки по умолчанию, а не загружает .mcmeta
из пакета ниже этого пакета.
Texts
Три файла .txt
в Формат UTF-8 существует в assets/minecraft/text
, которые используются игрой для определения отображаемого текста.
Файл end .txt
содержит текст заключительного стихотворения с использованием кодов форматирования для применения цветов к двум динамикам и с заменой текста PLAYERNAME
на имя игрока. После показа этого файла отображается содержимое credits.txt
.
Файл splashes.txt
содержит строки текст, разделенный с помощью разрывов строк, чтобы определить всплески для отображения в игре. Любую заставку можно заменить другим текстом.
Fonts
Файл шрифта — это файл JSON, расположенный в assets//font
в пакете ресурсов и содержит список поставщиков, каждый из которых связывает набор символов с местоположением ресурса вместе с некоторой дополнительной информацией. Шрифт по умолчанию определяется шрифтом minecraft: default
, в то время как шрифт по умолчанию, используемый таблицами зачарования, определяется шрифтом minecraft: alt
. Расположение ресурсов, указанное в поставщиках шрифтов, также должно включать расширения файлов.
- Корневой тег
- провайдеры: список поставщиков, которые объединены в этот шрифт.
- Поставщик шрифтов. Содержимое зависит от значения тега
"type"
.- type: Тип поставщика шрифта. Может быть одним из следующих:
- bitmap : растровый шрифт.
- file: расположение ресурса используемого файл, начиная с
assets//textures
. - height: необязательно. Высота персонажа в пикселях. Может быть отрицательным. Этот тег отделен от области, используемой в исходной текстуре, и просто изменяет масштаб отображаемого результата. По умолчанию 8.
- подъем: подъем персонажа в пикселях. Это значение добавляет вертикальный сдвиг к отображаемому результату.
- chars: список строк, содержащих символы, замененные этим поставщиком, а также их порядок в текстуре. Все элементы должны описывать одинаковое количество символов. Текстура разделена на одну строку одинакового размера для каждого элемента этого списка. Каждая строка разделена на один символ одинакового размера для каждого символа в одном элементе списка.
- file: расположение ресурса используемого файл, начиная с
- legacy_unicode : унаследованный шрифт Unicode. Этот формат является устаревшим, и ему присваивается приоритет только при включенной опции «Принудительный шрифт Unicode».
- sizes: Расположение ресурса внутри
assets//font
описывающий двоичный файл, описывающий горизонтальную начальную и конечную позиции для каждого символа от 0 до 15. Расширение файла целевого файла должно быть.bin
. - template: расположение ресурса внутри
assets//textures
, которое ведет к файлам текстур, которые следует использовать для этого поставщика. Игра заменяет% s
из значения этого тега на первые два символа шестнадцатеричного кода заменяемых символов, поэтому один поставщик этого типа может указывать на несколько файлов текстур.
- sizes: Расположение ресурса внутри
- ttf : шрифт TrueType. [ требуется дополнительная информация ]
- файл: расположение ресурса файла шрифта TrueType в
assets//font
. - shift: расстояние, на которое смещаются символы этого провайдера.
- Сдвиг влево
- Сдвиг вниз
- size: размер шрифта для рендеринга.
- oversample: разрешение для рендеринга.
- skip: строка или массив строк для исключения.
- файл: расположение ресурса файла шрифта TrueType в
- bitmap : растровый шрифт.
- type: Тип поставщика шрифта. Может быть одним из следующих:
- Поставщик шрифтов. Содержимое зависит от значения тега
- провайдеры: список поставщиков, которые объединены в этот шрифт.
- Текстуры по умолчанию
Файлы текстур шрифтов по умолчанию содержат сетку белых символов, которые автоматически раскрашиваются Minecraft по мере необходимости в игре. Размеры символов определяются автоматически на основе последней строки пикселей, содержащей любое альфа-значение. Из-за способа обнаружения шрифтов заполнение фона символа цветом, содержащим 5% альфа-фон, приводит к отображению всей ширины без видимого фона для символа.
- Глифы от 0x20 (пробел) до 0x7E (тильда) отображают стандартные символы ASCII,
- Глифы от 0x7F до 0xFF отображают 437 символов кодовой страницы.
Текстура по умолчанию находится в assets/minecraft/textures/font/ascii.png
Текстура по умолчанию, используемая при отображении чарующего «чужого шрифта»: assets/minecraft/textures/font/ascii_sga.png
Текстурные листы
Minecraft обычно не хранит несколько разных текстур на листах и вместо этого хранит их в отдельных файлах. Двумя текущими исключениями являются значки карты и сферы опыта, а также вагонетки.
Шейдеры
Шейдеры — это файлы GLSL, которые компилируются при загрузке. Они используются для изменения внешнего вида игры и бывают двух видов: вершинная и фрагментная. Вершинные шейдеры изменяют положение отдельных вершин и чаще всего используются для создания волнистой листвы и воды. Фрагментные шейдеры применяются к каждому пикселю и могут использоваться для добавления таких эффектов, как цветение, божественные лучи и размытие. Папка содержит файлы JSON, которые ссылаются на шейдеры вершин и фрагментов и предоставляют информацию о них. Если при загрузке шейдеров возникает какая-либо ошибка, пакет ресурсов выгружается и великолепная графика отключается.
» Сообщение «JSON
- Цели корневого тега
- : список целей рендеринга.
- : имя цели рендеринга. Размер по умолчанию соответствует разрешению экрана.
- : цель рендеринга.
- name: имя цели рендеринга.
- width : Ширина цели рендеринга.
- height: высота цели рендеринга.
- pass: список проходов.
- : проход рендеринга.
- name: имя прохода рендеринга.
- intarget: цель для использования в качестве входных.
- outtarget: цель для вывода.
- auxtargets: список дополнительных целей.
- Вспомогательная цель.
- name: Имя вспомогательной цели, которое передается в «Program» JSON.
- id: Идентификатор вспомогательной цели . Либо указывает на имя буфера, который определен в
target
, либо на расположение текстуры вassets//textures/effect
. - width: требуется, если
id
ссылается на текстуру. Описывает ширину текстуры в пикселях. - height: требуется, если
id
ссылается на текстуру. Описывает высоту текстуры в пикселях. - билинейный: требуется, если
id
ссылается на текстуру. Определяет, является ли алгоритм масштабирования, используемый для изображения, билинейным или ближайшим соседом.
- Вспомогательная цель.
- uniforms: список переопределений, которые изменяют значения в списке
униформа
в «Program» JSON.- : униформа.
- name: Имя поле, которое следует изменить.
- values: значения, на которые следует изменить поле.
- : униформа.
- : проход рендеринга.
- : список целей рендеринга.
«Программа» JSON
- Корневой тег
- blend: Настройки для смешивания OpenGL. [ verify ]
- func: Оператор, который будет использоваться при смешивании. [verify ]
- srcrgb: Источник, скорее всего, используется как параметр
sfactor
дляglBlendFunc
. - dstrgb: Назначение, скорее всего, используется как параметр
dfactor
дляglBlendFunc
.
- vertex: имя (без расширения файла) вершинного шейдера, который будет использоваться.
- fragment: имя (без файла extension) используемого фрагментного шейдера.
- attributes: атрибуты, которые будут использоваться вершинным шейдером.
- : атрибут. Единственное доступное в настоящее время значение —
"Position"
.
- : атрибут. Единственное доступное в настоящее время значение —
- сэмплеры: список сэмплеров, которые могут использоваться в шейдерах.
- : сэмплер.
- name: имя сэмплера.
- : сэмплер.
- униформа: список униформы, которая может использоваться в шейдерах.
- : униформа.
- name: имя униформы. как указано в коде GLSL. Некоторые имена задают единообразное особое поведение:
- Время : значение от 0 до 1, представляющее время в секундах. Сбрасывается каждую секунду.
- InSize : ширина и высота входного буфера в пикселях.
- OutSize : ширина и высота выходного буфера в пикселях.
- type: тип униформы. Может быть одним из следующих значений:
float
,matrix4x4
,matrix3x3
иmatrix2x2
.float
также можно интерпретировать какvec2
,vec3
илиvec4
в зависимости от того, как многие значения фактически включены вvalues
. - count: количество значений, включенных в
values
. - values: значение униформы, заданное как список чисел с плавающей запятой. Длина списка должна быть такой же, как у
count
.
- name: имя униформы. как указано в коде GLSL. Некоторые имена задают единообразное особое поведение:
- : униформа.
- blend: Настройки для смешивания OpenGL. [ verify ]
Шаблон
Структура папок Vanilla Resource Pack:
Список |
---|
Bedrock Edition
Подобно скинам, пакеты ресурсов можно покупать или создавать в Bedrock Edition. Начиная с Alpha 0.15.0, пользователи iOS могут загружать пакеты ресурсов в самой системе с именами файлов .mcpack
и .mcworld
. Когда эти файлы открываются, они автоматически импортируются в игру без необходимости доступа к файловой системе.
History
Java Edition | ||
---|---|---|
1.6.1 | 13w24a | Добавлены пакеты ресурсов , заменяющий функционал пакетов текстур. Minecraft Texture Ender доступен от Mojang для автоматического преобразования 1.5 совместимых пакетов текстур в пакеты ресурсов. Список измененных имен файлов см. В Java Edition 1.6.1/Resource pack. |
1.6.2 | reupload | Исправлено искажение шрифта при использовании шрифта HD. |
1.7.2 | 13w36a | Добавлена возможность применять сразу несколько пакетов ресурсов. |
13w42a | Файлы перемещены из assets/minecraft/music в assets/minecraft/звуки/музыка и файлы из assets/minecraft/sound в assets/minecraft/звуки . |
|
1.7.3 | 13w47a | Значение description для pack.mcmeta теперь может иметь необработанный текстовый формат JSON. |
1.7.4 | 13w48a | Убрана возможность изменять логотип Mojang. |
1.8 | 14w06a | Добавлена возможность изменять блочные модели. |
14w07a | Пакеты ресурсов теперь могут быть связаны с карта. | |
14w25a | Формат модели теперь поддерживает пользовательские модели элементов. | |
Теперь для блоков и элементов можно указывать текстуры. | ||
Добавлен тег interpolate для анимации . |
||
1.8.8 | pre | Пакеты ресурсов теперь отображают ошибку если номер формата неправильный. В настоящее время требуется номер формата 1 . |
1.9 | 15w31a | Номер формата изменен на 2 из-за изменений в системе модели, таких как теги элементов, составные части и изменения в тегах отображения. |
Использование пакетов ресурсов с устаревшими тегами отображения приводит к тому, что модели кажутся чрезмерно увеличенными, и используемый блок не может вращаться в руке, а блоки в инвентаре заменены на 2D текстура. Это похоже на то, что происходит, когда модель не имеет тегов отображения. См. Здесь пример. | ||
1.11 | 16w32a | Номер версии пакета ресурсов изменен на 3 , в связи с изменением, согласно которому все файлы должны иметь строчные буквы. |
1.13 | 17w43a | Пакет ресурсов по умолчанию теперь можно перемещать вверх и вниз, как и другие пакеты ресурсов. |
17w48a | Номер формата изменен на 4 из-за Сглаживания . |
|
1.14 | 18w45a | В меню пакета ресурсов добавлено «Programmer Art — классический вид Minecraft», так как старые текстуры заменены новыми в Обновление текстуры . |
19w06a | Значительно улучшена скорость загрузки пакета ресурсов. | |
Текстуры частиц теперь разделены на отдельные файлы. | ||
19w07a | Текстуры рисования теперь разделены на отдельные файлы. | |
19w08a | Текстуры эффектов статуса не w разделен на отдельные файлы. | |
1.15 | Предварительная версия 1 | Номер измененного формата до 5 из-за изменений в механике текстуры в более ранних снимках. |
1.16.2 | Версия-кандидат 1 | Номер формата изменен на 6 из-за изменений в стеновых блоках, внесенных в 1.16 в соответствии с MC-197275. |
Предстоящая версия Java Edition | ||
1.17 | 20w45a | Номер формата изменен на 7 . |
Pocket Edition Alpha | ||
0.15.0 | ? | Добавлены первые пользовательские пакеты ресурсов в игре, Пластик и Город. |
Bedrock Edition | ||
1.10.0 | бета 1.10.0.3 | Пакеты ресурсов теперь отделены от шаблонов мира и могут обновляться независимо в существующих мирах. |
Общая информация

Мир, в котором был сделан снимок экрана pack.png , загруженный в Alpha v1.2.2.
- Скриншот старого файла pack.png был сделан из Alpha v1.2.2, семя было
3257840388504953787
.- Скриншот был приблизительно при X = 49,16, Z = 0,72, лицом к RX = -119,23, RY = -8,297.
- Как сгенерировать тот же мир и сделайте такой же снимок экрана: https://pastebin.com/CmsEKDev.
Gallery
-
Старый файл pack.png.
-
Вариант в оттенках серого в настоящее время все еще находится в игра. Используется для значков неизвестных серверов.
-
Первое изображение, выпущенное Notch в меню выбора пакета текстур.
- Учебники/Создание пакета ресурсов [ Только для Java Edition ]
- Учебники/Создание надстроек для пакетов ресурсов [ Только для Bedrock Edition ]
- Программы и редакторы/Создатели пакетов ресурсов