Створення власних звуків
Підготовка аудіофайлу
Ваші аудіофайли потрібно відформатувати певним чином. OGG Vorbis — це відкритий контейнерний формат для мультимедійних даних, наприклад аудіо, який використовується у випадку звукових файлів Minecraft. Щоб уникнути проблем із тим, як Minecraft обробляє дистанцію, ваше аудіо повинно мати лише один канал (моно).
Багато сучасних програм DAW (Digital Audio Workstation) можуть імпортувати та експортувати за допомогою цього формату файлів. У наступному прикладі безплатне програмне забезпечення з відкритим вихідним кодом Audacity буде використано для переведення аудіофайлу в правильний формат, однак будь-якої іншої DAW також має бути достатньо.

У цьому прикладі звук свистка імпортується в Audacity. Зараз він зберігається як файл .wav і має два аудіоканали (стерео). Відредагуйте звук на свій смак і обов’язково видаліть один із каналів за допомогою елемента, що розкривається у верхній частині «голови треку».


Експортуючи або відтворюючи аудіофайл, переконайтеся, що вибрано формат файлу OGG. Деякі DAW, наприклад 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
Таким чином, ініціалізатору мода потрібно реалізувати лише один рядок, щоб зареєструвати всі спеціальні звукові події.
java
No lines matched.1
Використання спеціальної звукової події
Використовуйте допоміжний клас для доступу до спеціального SoundEvent. Перегляньте сторінку відтворення звуку, щоб дізнатися, як відтворювати звуки.

