Создание своих звуков
Создание своих звуков
Нужно отформатировать ваш аудиофайл определённым образом. OGG Vorbis - это открытый формат для мультимедийных данных, например аудио, и используется в качестве звуковых файлов Minecraft. Чтобы избежать проблем с тем, как Minecraft обрабатывает дистанцию, вашему аудио нужно иметь только один канал (Mono).
Многие современные программы ЦЗРС (Цифровая звуковая рабочая станция) могут импортировать и экспортировать файлы этого формата. В следующем примере для приведения файла в правильный формат будет использован "Audacity", или любая другая ЦЗРС программа.

В этом примере звук свисток был импортирован в Audacity. Обычно он сохраняется как файл .wav и имеет два аудио канала (Stereo). Отредактируйте звук по своему вкусу и удалите один из каналов, используя раскрывающийся элемент наверху "track head".


Когда вы экспортируете или рендерите аудиофайл, выберите формат файла OGG. Некоторые ЦЗРС, например REAPER, могут поддерживать несколько форматов слоёв OGG. В этом случае OGG Vorbis должен работать нормально.

Также имейте в виду, что аудиофайлы могут значительно увеличить размер вашего мода. При необходимости сожмите звук, когда редактируйте и экспортируйте файл, чтобы свести размер файла к минимуму.
Загрузка аудиофайла
Добавьте новый каталог resources/assets/example-mod/sounds для звуков в вашем моде и поместите туда экспортированный аудиофайл metal_whistle.ogg.
Продолжите создание файла resources/assets/example-mod/sounds.json, если он еще не существует, и добавьте свой звук в записи звуков.
json
{
"metal_whistle": {
"subtitle": "sound.example-mod.metal_whistle",
"sounds": ["example-mod:metal_whistle"]
},
"engine": {
"subtitle": "sound.example-mod.engine",
"sounds": ["example-mod:engine"]
}
}1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
Запись подписи предоставляет больше контекста для игрока. Название субтитров используется в языковых файлах в каталоге resources/assets/example-mod/lang и будет отображаться, если в игре включена настройка субтитров и воспроизводится этот пользовательский звук.
Регистрация своего звука
Чтобы добавить пользовательский звук в мод, зарегистрируйте SoundEvent в инициализаторе мода.
java
Registry.register(BuiltInRegistries.SOUND_EVENT, Identifier.fromNamespaceAndPath(MOD_ID, "metal_whistle"),
SoundEvent.createVariableRangeEvent(Identifier.fromNamespaceAndPath(MOD_ID, "metal_whistle")));1
2
2
Чистка беспорядка
В зависимости насколько много записей реестра находится, это может превратиться в беспорядок. Чтобы обойти это, мы должны сделать использование нового класса помощника.
Добавьте два новых метода для ранее созданного класса помощника. Первый регистрирует все звуки и используется для инициализации этого класса на первом месте. После этого вы можете добавить в новый статический класс SoundEvent нужные переменные.
java
No lines matched.1
Таким образом, инициализатору мода достаточно реализовать только одну строку для регистрации всех пользовательских SoundEvents.
java
No lines matched.1
Используйте собственные SoundEvent'ы
Используйте класс помощник для доступа к собственному SoundEvent. Ознакомьтесь со страницей Воспроизведение звуков, чтобы узнать, как воспроизводить звуки.

