Guides / Building & Resources

Пользовательские картины и музыкальные диски без замены оригинальных

Теперь и то, и другое стало реестрами пакетов данных, так что вы можете добавлять новые элементы вместо того, чтобы перезаписывать ванильные. Вот два файла, которые нужны для каждого, и правило размеров, которому должны следовать картины.

Раньше, чтобы добавить пользовательскую Картину, приходилось перезаписывать paintings_kristoffer_zetterstrand.png и терять одну из ванильных. Теперь и Картины, и музыкальные диски являются реестрами, поэтому вы можете добавлять их, а не заменять.

Для картин нужны два файла

Запись в пакете данных, определяющая Картину:

data/<namespace>/painting_variant/my_art.json
{
  "asset_id": "my_pack:my_art",
  "width": 2,
  "height": 2,
  "title": { "text": "My Art" },
  "author": { "text": "Me" }
}

И пакет ресурсов, предоставляющий изображение:

assets/my_pack/textures/painting/my_art.png

width и height указываются в блоках, и текстура должна соответствовать этому соотношению при 16 пикселях на блок. Для Картины размером 2×1 нужна текстура 32×16. Если соотношение неверно, изображение будет растянуто; автоматической подгонки нет.

Ванильные размеры варьируются от 1×1 до 4×4. Большие размеры также работают, но требуют соответствующей стены.

Как сделать их доступными

Добавление варианта не помещает его в игру. Есть два способа:

  • Тег размещения — добавьте его в #minecraft:placeable, чтобы обычный предмет Картины мог

случайно превратиться в него.

  • Напрямую/give @p painting[entity_data={id:"minecraft:painting",variant:"my_pack:my_art"}]

Большинство создателей Карт предпочитают второй способ: конкретную Картину, а не случайную.

Для музыкальных дисков нужны три файла

data/<namespace>/jukebox_song/my_song.json
{
  "sound_event": { "sound_id": "my_pack:music/my_song" },
  "description": { "text": "My Artist - My Song" },
  "length_in_seconds": 154,
  "comparator_output": 12
}

Плюс sounds.json, сопоставляющий этот идентификатор звука с файлом, плюс сам .ogg:

assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg

Важны три детали:

  • length_in_seconds должен быть правильным. Он определяет, когда Проигрыватель останавливается и когда

заканчивается поток частиц, а не аудио. Неправильное значение означает тишину в конце или обрыв.

  • comparator_output — это значение от 1 до 15, которое считывает компаратор. Каждый ванильный диск имеет

отдельное значение; если использовать одно и то же, редстоун не сможет их различить.

  • Потоковая передача ogg. "stream": true в sounds.json для всего, что по длине является музыкой.

Затем выдайте его:

/give @p music_disc_13[jukebox_playable="my_pack:my_song"]

Любой предмет диска работает как носитель — компонент определяет, что будет воспроизводиться.

Почему это лучше, чем перезапись

Пакет, который заменяет ванильные ассеты, конфликтует с каждым другим пакетом, делающим то же самое, и ломается, когда Mojang переименовывает файл. Добавления в реестр имеют пространства имен, поэтому два пакета, добавляющие Картины, сосуществуют. Это также единственный подход, который переживает обновление версии без редактирования.

Создавайте варианты картин, песни для Проигрывателя, тотемы и эмодзи чата в одном готовом zip-архиве пакета ресурсов с помощью Custom Content Pack Makers.

Конструкторы своего содержимого →

More guides

Browse all →

Нужны другие инструменты для Minecraft?

Набор генераторов, просмотрщиков и конвертеров прямо в браузере — всё бесплатно.