Руководства / Строительство и ресурсы
Пользовательские картины и музыкальные диски без замены оригиналов
И то, и другое теперь стало реестрами датапаков, так что вы можете добавлять новое, а не перезаписывать ванильное. Вот два файла, которые нужны каждому, и правило соотношения сторон, которому должны следовать картины.
Старый способ получить пользовательскую картину — перезаписать 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, но 64×32 работает точно так же. Ошибётесь с соотношением — и её растянет; автоподгонки нет.
Ванильные размеры — от 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, сопоставляющий этот id звука с файлом, плюс сам .ogg:
assets/my_pack/sounds.json
assets/my_pack/sounds/music/my_song.ogg
Три детали важны:
length_in_secondsдолжен быть верным. Он определяет, когда проигрыватель останавливается — частицы, его выход редстоуна и звук, который обрезается в этот момент. Слишком длинный означает тишину в конце; слишком короткий обрезает трек.comparator_output— от 0 до 15, и именно его считывает компаратор. В ванильной игре 22 диска и только 15 значений, так что семь пар уже делят одно; выберите значение, которое не использует ни один из дисков, которые ваш редстоун должен различать.- Потоковый ogg.
"stream": trueвsounds.jsonдля всего, что длится как музыка.
Затем дайте ему:
/give @p music_disc_13[jukebox_playable="my_pack:my_song"]
Любой предмет диска подойдёт как носитель — компонент решает, что играет.
Почему это лучше перезаписи
Пак, заменяющий ванильные ресурсы, конфликтует с любым другим паком, делающим то же самое, и ломается, когда Mojang переименовывает файл. Добавления в реестр имеют пространство имён, так что два пака, добавляющих картины, сосуществуют. Это также единственный подход, который переживает смену версии без правок.
Соберите варианты картин, песни для проигрывателя, тотемы и чат-эмодзи в один готовый zip ресурспака с помощью Custom Content Pack Makers.