Пакет ресурсов

Эта статья посвящена текущей системе настройки ресурсов. Чтобы узнать о других значениях, см. Пакет текстур (значения).

Текстуры по умолчанию с настраиваемым пакетом ресурсов (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 , но они не могут существовать вместе.
    • language: содержит дополнительные языки для добавления в языковое меню
      • Код языка для языка, соответствующий файлу .json с тем же именем в папка assets/ /lang .
        • name: полное название языка
        • регион: название страны или региона.
        • двунаправленный: если true, язык читается справа налево.

Корневой каталог также содержит необязательное изображение с именем 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: Время в отметки, чтобы показать этот кадр, переопределяя «время кадра» выше.

Если файл .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 для текстуры

Если файл .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: список строк, содержащих символы, замененные этим поставщиком, а также их порядок в текстуре. Все элементы должны описывать одинаковое количество символов. Текстура разделена на одну строку одинакового размера для каждого элемента этого списка. Каждая строка разделена на один символ одинакового размера для каждого символа в одном элементе списка.
          • legacy_unicode : унаследованный шрифт Unicode. Этот формат является устаревшим, и ему присваивается приоритет только при включенной опции «Принудительный шрифт Unicode».
            • sizes: Расположение ресурса внутри assets//font описывающий двоичный файл, описывающий горизонтальную начальную и конечную позиции для каждого символа от 0 до 15. Расширение файла целевого файла должно быть .bin .
            • template: расположение ресурса внутри assets//textures , которое ведет к файлам текстур, которые следует использовать для этого поставщика. Игра заменяет % s из значения этого тега на первые два символа шестнадцатеричного кода заменяемых символов, поэтому один поставщик этого типа может указывать на несколько файлов текстур.
          • ttf : шрифт TrueType. [ требуется дополнительная информация ]
            • файл: расположение ресурса файла шрифта TrueType в assets//font .
            • shift: расстояние, на которое смещаются символы этого провайдера.
              • Сдвиг влево
              • Сдвиг вниз
            • size: размер шрифта для рендеринга.
            • oversample: разрешение для рендеринга.
            • skip: строка или массив строк для исключения.
Текстуры по умолчанию

Файлы текстур шрифтов по умолчанию содержат сетку белых символов, которые автоматически раскрашиваются 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 .

Шаблон

Структура папок 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.
  • Старый файл pack.png.

  • Вариант в оттенках серого в настоящее время все еще находится в игра. Используется для значков неизвестных серверов.

  • Первое изображение, выпущенное Notch в меню выбора пакета текстур.

  • Учебники/Создание пакета ресурсов ‌ [ Только для Java Edition ]
  • Учебники/Создание надстроек для пакетов ресурсов ‌ [ Только для Bedrock Edition ]
  • Программы и редакторы/Создатели пакетов ресурсов

Оцените статью
Gamicon.ru
Добавить комментарий