Мод для Майнкрафт, расширяющий систему способностей Apoli: он позволяет менять звуки, которые издаёт или слышит носитель способности, а также воспроизводить звуки по действию. Подходит для датапаков и наборов способностей с необычными звуковыми эффектами и постобработкой.
Возможности
- Тип способности
techo:replace_sound_emissionзаменяет звуки, издаваемые сущностью: например, шаги, еду, получение урона или смерть. Замену можно задать строкой, звуком с громкостью и высотой тона либо списком вариантов с весом выпадения. - Тип
techo:replace_sound_receptionменяет звуки, которые слышит носитель способности. Его можно использовать, например, чтобы заглушить почти все звуки, оставив звуки интерфейса. - Для поиска звуков поддерживаются регулярные выражения и ссылки на захваченные группы, поэтому одно правило может менять целую группу событий. В качестве замены подходят и звуки из ресурс-паков.
- Поле
replaceопределяет, заменяется ли исходный звук или звучит вместе с новым. При нескольких подходящих способностях порядок обработки задаётpriority; действие изentity_actionсрабатывает после совпадения правила. - Действие сущности
techo:play_soundвоспроизводит указанный звук в позиции сущности либо сопровождающий её при движении. Для него доступны категория, громкость, высота тона, воспроизведение во всём измерении и вариант, слышимый только самой сущностью. - Тип данных
Resource Value Providerпередаёт значение способности-ресурса в параметры постобрабатывающего шейдера. Значение можно умножить черезscaleили преобразовать из диапазона ресурса в диапазон междуminиmax.
Как пользоваться
В JSON-описании способности укажите один из типов:
{
"type": "techo:replace_sound_emission",
"sounds": {
"minecraft:entity.player.burp": "empty"
}
}
Такое правило заглушает отрыжку носителя способности. В объекте sounds ключ — исходный звук или регулярное выражение, а значение — звук для замены.
Для воспроизведения звука действием используйте techo:play_sound. Поле volume меняет и громкость, и дальность: базовая дальность при значении 1.0 составляет 16 блоков. Параметр follow_entity привязывает источник звука к движущейся сущности, global регистрирует звук у всех игроков измерения, а internal оставляет его слышимым только для сущности.
Список замен с разными шансами задаётся объектами с полями id, volume, pitch и weight. Чем больше weight, тем выше вероятность выбрать этот вариант.
