Регистрация
Entity Sound Features [1.21] [1.20.6] [1.19.4]

Entity Sound Features - данный мод позволяет изменять звуки объекта на основе формата ETF/OptiFine .properties.
ESF позволяет набору ресурсов размещать файл .properties в каталоге assets/<пространство имен>/esf/, чтобы изменять звуки объектов на основе условий, заданных в файле .properties. Этот файл .properties настроен точно так же, как в руководстве по ETF, и здесь не будет подробно описан.
Естественно, ESF требует установки ETF и без него работать не будет.

Пример

Допустим, мы хотим создать вариант Chicken mob, который будет звучать иначе, чем обычные цыплята. Возможно, у вас уже есть 2 разных текстуры цыплят, которые варьируются с помощью ETF, например, утка и цыпленок, и вы хотите добавить к этому различия в звучании.

В этом случае у звука Chicken ambient, как и у всех звуков, есть идентификатор звукового события, который для этого звука звучит как minecraft:entity.chicken.ambient.

Вы можете найти список всех идентификаторов событий vanilla sound здесь, обратите внимание, что часть minecraft: просто указывает на папку пространства имен, в которую необходимо поместить файлы. Измененные звуки будут иметь разные пространства имен.

С помощью нашего звукового идентификатора мы можем определить, куда поместить наш файл .properties. Нам нужно начать с каталога assets/<пространство имен>/esf/ нашего набора ресурсов, а затем для каждого слова, разделенного символом . в нашем sound id мы создаем папку, последнее слово которой является именем файла свойств. итак, для идентификатора minecraft:entity.chicken.ambient мы бы создали папку entity/chicken/, а затем поместили бы туда наш файл ambient.properties.

Конечным путем будет assets/<пространство имен>/esf/entity/chicken/ambient.properties.

В этот же каталог мы можем поместить наши файлы звуковых вариантов, которые являются просто .json с тем же именем, что и у файла свойств. Т.е. ambient2.json будет звуковым файлом для варианта #2 файла ambient.properties.

Эти файлы являются единственным экземпляром звукового события, точно так же, как они объявлены в обычных sounds.json файлах.

например, для звука, сохраненного в любом из:

  • assets/<namespace>/esf/entity/chicken/sound_to_use.ogg
  • assets/<namespace>/sounds/entity/chicken/sound_to_use.ogg

пример #1

{
    "sounds": [
        {
            "name": "entity/chicken/sound_to_use",
            "volume": 1,
            "weight": 10
        }
    ]
}

пример №2

{
    "sounds": [
        {
            "name": "entity/chicken/sound_to_use",
            "volume": 0.55,
            "weight": 10
        },
        {
            "name": "entity/chicken/other_sound_to_use",
            "volume": 0.8,
            "weight": 30
        }
    ]
}

это означает, что файл ambient2.json может ссылаться на несколько звуковых файлов, включая стандартные, либо в папке esf, либо в обычной папке /sounds/.

При желании вы также можете создать отдельный звуковой файл вместо .json, например, ambient2.ogg, но тогда вы получаете только 1 звук и не регулируете громкость, или увеличиваете размер файла для повторяющихся звуков.
Затем вы можете использовать свойства и варианты звуков точно так же, как в ETF / OptiFine.

#в этом файле свойств все утки в реке используют ambient2.ogg, который представляет собой крякающий звук.
sounds.1=2
biomes.1=river
#это свойство в конце не имеет условий, поэтому все остальные утки будут использовать множество обычных звуков ванильного окружения.
sounds.2=1

отличие от ETF .properties
Суффиксы #1 и #0, используемые в ESF, будут отсылать к ванильным звукам, сохраняя ванильное поведение, включая все варианты ванильного звучания.
Суффиксы объявляются в файле .properties с помощью идентификаторов звуков, в отличие от скинов или текстур в ETF.
ESF будет вычислять звук, который будет использоваться при каждом вызове, поэтому нет настройки частоты обновления, и ESF не отслеживает, какие звуки использовались ранее.
Таким образом, ESF не будет запоминать начальные условия появления объектов для таких свойств, как биом, как это делают текстуры и модели. (ниже приведен совет по этому поводу)

Пример
Набор ресурсов, используя пример "цыплята в качестве уток", приведенный в приведенном выше руководстве. Требуется установить ETF, EMF и ESF. 

ducks.zip [86.2 Kb]

Как установить мод:

  • Скачайте и установите Fabric
  • Скачайте и установите Fabric API
  • Скачайте и установите Entity Texture Features
  • Скачайте мод и скопируйте в .minecraft/mods
  • Готово

Скачать мод:

1.21: entity_sound_features_fabric_1_21-0_3_1.jar [85.06 Kb]
1.20.6: entity_sound_features_fabric_1_20_6-0_3_1.jar [85.14 Kb]
1.20.4 - 1.19.4: entity_sound_features_fabric_1_19_4-0_3_1.jar [85.14 Kb]