Случайные видео
Бесшумный подъемник через блоки в 1.8+ [Minecraft Механизмы]
Разбор способа подъема предметов вверх при помощи столба из блоков
Разбираем панель из девяти кнопок [Уроки по Minecraft]
Пособие по сборке многокнопочных панелей
#6: Помесь банана и кукурузы [Let's Play Miasmata]
Краткое пособие по способам потери предметов первой необходимости
Задержка на командных блоках в 1.5+ [Уроки по Minecraft]
Механизм реализации очень длительной и точной задержки
Самый быстрый RND-генератор в 1.7+ [Уроки по Minecraft]
Самый быстрый и стабильный генератор дискретных произвольных сигналов ...
Имена звуков, расшифровка sounds.json и работа команды /playsound в Minecraft 1.9+
Cтатья целиком
6
5
4
3
2
1
Данная статья создана на основе статьи Sounds.json из официальной Minecraft Wiki
В последних версиях Minecraft изменилась структура работы со звуком, а также изменилось поведение команды /playsound. Предполагается что вы уже знаете об особенностях работы со звуком в Minecraft (например из моей статьи), так что здесь я только разберу отличия, поясню новые принципы, а также приведу свежие таблицы звуков в конце статьи.
В первую очередь следует отметить, что теперь при работе со звуком игра ориентируется не на папки где расположены звуковые файлы, а на файл sounds.json, который содержит информацию о звуках. Также данный файл может использоваться в ресурспаках чтобы сообщить системе какие звуки должны воспроизводиться в игре или добавлять новые звуки на пользовательские карты. Файл sounds.json можно найти в папке assets\minecraft ресурспаков, а оригинальный файл игры с таким же названием находится в папке .minecraft\assets\objects (minecraft/assets/objects на Mас-системах). Хэшированое имя файла можно найти в файле версий .minecraft\assets\indexes\<имя_версии>.json. Ну и самое главное отличие работы со звуком в игре теперь заключается в том, что по сути мы проигрываем не звуки, а некое виртуальное подобие звуков, которое может быть как простым звуком так и более сложной структурой, ссылающейся на другие звуки. На словах без подробностей объяснить это достаточно сложно, так что давайте для начала разберемся подробнее как всё работает, и уже ближе к концу статьи последуют финальные разъяснения, принципы работы команды и таблицы имен.
Начнем с обзора структуры звукового файла. Хотя в целом информация в файле хранится в формате JSON, мы представим всё это в виде NBT-структуры. Кстати, с примером того, как может выглядеть файл sound.json вы можете ознакомиться здесь. В самом файле у нас по сути хранятся звуковые события а не список звуков. Уже растеряны? Ничего страшного, пока просто ознакомьтесь со структурой, ведь к ней вы можете еще вернуться позднее. Чем звуки отличаются от звуковых событий мы также разберем чуть ниже, а пока посмотрим на схему:
CompoundБазовый объект
 └ CompoundЗвуковое событие. Название данного объекта считается названием звукового события
     └ Stringcategory: Категория к которой принадлежит звуковое событие
     └ Stringreplace: Может принимать значение true/false. Опция только для ресурспаков.
     └ Stringsounds: Звуковые файлы, используемые данным событием
         └ StringПуть до звукового файла относительно папки /sounds/
         └ CompoundЗвуковой файл, используется если нужно указание дополнительных параметров
             └ Stringname: Путь до звукового файла или название другого события
             └ Stringvolume: Громкость воспроизведения в диапазоне от 0.0 до 1.0, по умолчанию 1.0
             └ Stringpitch: Высота звука, по умолчанию 1.0, но может быть как больше так и меньше
             └ Stringweight: Вес данного звука при воспроизведении, по умолчанию равен 1
             └ Stringstream: Может принимать значение true/false и показывает нужен ли стриминг
             └ Stringtype: Может принимать значение sound/event, тип текущего звука
Формат хранения достаточно простой, но быстренько пробегусь по всем полям с краткими комментариями. Итак, вся информация о звуках представляет собой большой массив из отдельных элементов, которые называются звуковыми событиями. Грубо говоря каждое звуковое событие это просто описание одного воспроизводимого звука, которое может содержать как простое указание того, какой звуковой файл необходимо воспроизвести, так и более детальное описание того, как именно это следует сделать. Также звуковое событие может описывать поведение игры в стиле "когда мы воспроизводим событие AAA мы должны выбрать случайный звук из следующего списка и воспроизвести его...".
Теперь пара слов о параметрах, которыми описывается каждое звуковое событие. Категория (category) по сути указывает какую из отдельных настроек звука использовать при воспроизведении. Если посмотреть в меню настроек Minecraft, то там мы увидим не только глобальный уровень громкости, но и уровни громкости для отдельных типов звуков (музыки, фоновых звуков и так далее) - именно это и считается категориями. Допустимыми значениями здесь будут: ambient, weather, player, neutral, hostile, block, record, music, master и voice. По умолчанию всегда подразумевается общий уровень звука - master. Параметр замена (replace) используется только при создании ресурспаков и показывает как система должна воспринимать добавленные звуки. Если значение установлено в false, то новый звук будет добавлен в список к уже существующим (допустим, мы решили добавить больше видов мурчания кошкам), а если в значение true, то существующие в игре стандартные звуки будут заменены новыми. Параметр звуки (sounds) представляет из себя массив или, если хотите, список тех звуков, которые будет воспроизводить данное событие. Если у нас простое звуковое событие в стиле "воспроизводим звук ААА", то просто строкой задается адрес звукового файла. Однако мы можем и задать список из звуковых файлов и других событий! В таком случае из всех файлов входящих в указанное событие и все перечисленные в нем вторичные события будет выбран один произвольный звук и воспроизведен. Соответственно если мы задаем это простой строкой как имя файла, то должны использовать прямые слеши. Если же мы задаем более сложное поведение, то используется компаунд, в котором мы перечисляем не только текстовое имя, но и дополнительные параметры.
Пробежимся по этим параметрам. Параметр имя (name) задает название звукового файла (считайте, что это адрес относительно папки /sounds/) или содержит имя другого звукового события, звуки которого надо также присоединить к текущему. Параметр громкости (volume) указывает на какой громкости по умолчанию необходимо воспроизвести данный звук. Параметр высоты звука (pitch) показывает с какой тональностью следует воспроизводить звук по умолчанию, можно считать это искажением звука при выводе. Параметр вес (weight) обозначает шанс того, что при воспроизведении данного события во время выбора звука из списка будет выбран именно этот файл. Чем больше значение тем больше шансов. Допустим у нас в звуковом событии перечислены три звуковых файла, у одного из них вес указан как 2 а у двух других по 1. В таком случае шанс того, что первый звук будет выбран, равен 50%, а два других будут выбраны с вероятностью 25%. Параметр стриминга (stream) задает поведение движка игры и если он установлен в значение false то звук будет загружен в память, а если в true то будет воспроизводиться непосредственно с диска в реальном времени. Большие звуковые файлы типа музыки и тому подобного лучше воспроизводить с диска, поскольку заняв звуками всю память мы можем вызвать ощутимые лаги в игре. Ну и, наконец, параметр тип (type) указывает к какому типу относится данный элемент. По сути это подсказка игре как именно воспринимать указанное в параметре имя (name) - в качестве пути для поиска файла или же в качестве имени другого события, звуки которого необходимо присоединить к текущему. Вообще всё сказанное выше и знание структуры это чисто прикладные знания и понадобятся они больше создателям ресурспаков. Если перед нами просто стоит задача воспроизведения звуков, то всё это нам не особо-то и нужно, но лучше представлять себе как всё это работает. =) 
В качестве дополнительных пояснений к структуре я приведу вольный перевод пояснений от Dinnerbone (английский оригинал на reddit вы можете найти здесь). Он, конечно, частично дублирует мои пояснения выше, но хуже от этого не будет:
Подразумевается что мы проигрываем не звуки как таковые, а "события" на определенной громкости (volume) и высоте (pitch), и такие события состоят из следующего:
category - по умолчанию master, использует пользовательские настройки громкости. Возможные значения которые можно задать в качестве категории: master, music, record, weather, block, hostile, neutral, player и ambient.
replace - по умолчанию приравнивается false, если установлено в значение true то будет заменять существующие звуки новыми звуками из ресурспака.
Далее следует список сущностей. Сущности могут быть как объектами, так и строками. Если используется строка а не объект, то остальные значения будут подставлены по умолчанию, в то время как указанная строка будет использована в качестве имени. Свойствами объектов являются:
name - говорит само за себя, это имя объекта/звука
type - тип, может принимать значения event или sound. Значение sound отвечает за файлы, а зачение event за прочие события.
weight - вес данного звука, по умолчанию 1, что означает шанс выбрать данный звук среди прочих (если в событии их несколько). Как если бы вы участвовали в лотерее и у вас было такое количество билетов на руках.
volume - по умолчанию 1, громкость на которой будет проигрываться этот звук.
pitch - по умолчанию 1, высота звука с которой будет проигрываться аудиофайл.
stream - по умолчанию принимает значение false, желательно установить в значение true для длинных звуков (минутной и более длины), но используйте с осторожностью.
Если в качестве звука задано проигрывание события, то вес данного события будет вычислен как количество входящих в него файлов. Таким образом считаем что у этих файлов больший шанс быть проигранными в рамках массивного события, чем у файла-одиночки в маленьком событии.
При создании ресурспаков нет необходимости целиком копировать оригинальный файл sounds.json, поскольку он не будет заменять оригинал. Вместо этого дополнительные параметры/события/звуки из ресурспака будут наложены поверх уже существующих событий в игре.
Пример такой структуры:
{
   "simple_event_example": {
      "sounds": [
         "file1"
     ]
   },
   "random_event_example": {
      "sounds": [
         "file1",
         "file2",
         {
            "type": "event",
            "name": "simple_event_example"
         }
      ]
   }
}
Ну что же, с тем как устроены файлы со звуками мы разобрались, но я почти уверен что вам до сих пор не понятен общий принцип работы. Раньше-то всё было просто - есть звуки, есть команда /playsound и мы можем совершенно спокойно зная местоположение звуков и используя эту команду вывести любой звук. А что теперь?! Какой-то JSON, файлы, события, ресурспаки... Не удивительно что многие реально во всём этом путаются. Честно говоря даже за написание данной статьи меня посадили многочисленные просьбы зрителей канала YouTube и участников группы ВК. =) Ну да ладно, не будем терять времени и попробуем проникнуть в тайны работы звука новых версий, благо на деле всё не так страшно. Однако прежде всего я хочу отметить один важный момент, иначе будет очень легко запутаться. Дело в том, что при объяснении принципов работы мы снова будем говорить о событиях, но... не только о звуковых событиях! Поэтому давайте для начала договоримся о некоторой терминологии.
В том, что разработчики заменили понятие "звук" на "звуковое событие" в общем-то нет ничего удивительного, поскольку позволяет не путать сами звуки, которые представляют из себя файлы в папке Minecraft и описывающие их в игре сложные структуры. Однако их нельзя называть просто "событиями", поскольку теперь мы можем их легко спутать с "игровыми событиями". Игровое событие это наступление каких-то определенных условий в игре. Например если игрок разбил блок камня, то это - игровое событие. Частенько именно это и запутывает, поэтому вместо понятия "игровое событие" я буду использовать понятие "триггер". Суть от этого глобально не меняется, так что остановимся на этом. В итоге у нас получается следующее: звук это файл на диске, звуковое событие это игровая информация о том, как определенный звук или группа звуков должны сработать, а триггер это какой-то момент игры, после наступления которого мы и заставляем сработать звуковое событие. Объяснение тоже получилось не из лучших, но дело нам упростит.
Итак, как же оно работает если прикинуть на простом примере? Представим это в виде лабораторного эксперимента где звуки - набор из разноцветных шариков а звуковые события - бумажки-шпаргалки. Нам показывают на экране слова (триггер) и в зависимости от слова мы должны выполнить определенное действие - взять шарик (то есть воспроизвести звук). Раньше всё было проще, поскольку мы знали что если на экране написано "небо", то мы берем синий шарик. Если написано "снег", то берем белый шарик. Теперь же все с одной стороны усложнилось а с другой стороны стало проще. Когда на экране нам пишут "небо" то мы смотрим в шпаргалку (звуковое событие) под тем же названием и выполняем описанные в ней действия. В шпаргалке может быть указано "синий шарик" и мы просто возьмем нужный шар со стола. То есть воспроизведем соответствующий звук, это та ситуация когда в структуре выше у нас стоит тип sound и мы, таким образом имеем прямое указание на звук. В шпаргалке может быть так же написано: "синий, голубой или бирюзовый шарик". Это та ситуация когда в нашем звуковом событии перечислено несколько файлов. Тогда мы просто берем любой из этих шариков случайным образом. Ну и, наконец, в шпаргалке может быть написано "синяя шпаргалка или белая шпаргалка". Это означает что мы должны посмотреть в других шпаргалках и выбрать случайный шарик (звук) оттуда. Это та ситуация когда в одном звуковом событии указываются в качестве "звуков" другие звуковые события. Получается некое подобие матрешки - открывая её (запуская на воспроизведение звуковое событие) мы можем как сразу что-то найти внутри (звук, то есть адрес файла), так и найти вложенные матрешки со звуками (другие звуковые события). Уж не знаю насколько вам всё это стало понятно, но объяснить это как-то ещё довольно затруднительно. Надо просто запомнить что на самом деле звуковое событие в новых версиях Minecraft это не сам звук, а инструкция как и какой звук выбрать. 
Если уж вы дошли до этого места статьи и внимательно изучили все основы, приведенные выше, то какое-то понимание ситуации у вас уже есть. По крайней мере в настойчивости вам точно не откажешь! =) Настало время переходить к практике - использованию звуковых событий вместе с командой /playsound. На самом деле новая версия этой команды не сильно отличается от старой и, зная всё сказанное выше, вы могли бы и сами разобраться что к чему. Однако я буду последователен и детально разберу команду и её параметры. Начнем с синтаксиса команды:
/playsound  < звук > < источник  > < игрок >  [ x ]  [ y ]  [ z ]  [ громкость ]  [ высотаЗвука ]  [ мин.Громкость ]​
Параметры, заключенные в скобки < > являются обязательными, а в квадратные скобки - опциональными. Разумеется, порядок следования параметров должен сохраняться. Как можно видеть, синтаксис остался практически таким же за исключением одного главного момента - добавился обязательный параметр источник. Рассмотрим все параметры по очереди.
Первым параметром является звук и если раньше мы указывали название звукового файла, то теперь сюда подставляются только названия звуковых событий. Если мы не занимаемся созданием ресурспаков, то можно вообще выкинуть всё из головы и просто считать, что все звуки теперь имеют новые названия.
Следующий параметр команды это источник. Данный параметр на самом деле является полным аналогом категории (category) из структуры событий, то есть по сути отвечает за то, настройки громкости от какой группы будут использоваться чтобы воспроизвести данный звук. Данная опция позволяет игнорировать аналогичную настройку самого события, но что это нам дает? Продемонстрирую на простом примере. У многих игроков музыка в настройках отключена, следовательно все звуковые события категории music не будут воспроизводиться. Допустим мы решили что игрок всё же должен услышать музыку! В таком случае в параметр источник мы вбиваем значение master и для воспроизведения музыки будут использоваться общие настройки звука. То есть музыка будет слышна даже если отключена в настройках игры. Разумеется если игрок выкрутил и общий уровень громкости на ноль, то мы ничего не услышим, что довольно логично! =) Ну и по аналогии с файлом sounds.json здесь тоже могут использоваться следующие варианты: master, music, record, weather, block, hostile, neutral, player, ambient или voice.
Третьим параметром является игрок, которому будет проигрываться звук. Следует учитывать, что если указывается какой-то конкретный игрок а не маска типа @p, то игрок должен присутствовать на сервере и у него должна быть возможность услышать звук из его источника. По умолчанию можно ставить @a чтобы звук слышали все игроки, здесь работают обычные правила для селекторов.
На этом список обязательных параметров заканчивается и мы переходим к необязательным. Здесь всё работает точно так же как и в предыдущей версии команды /playsound.
Координаты xyz задают точку из которой будет воспроизводиться звук. Если вместо точных координат задан знак ~ то это означает текущую локацию игрока или командного блока в котором выполняется команда. Следует отметить, что можно задавать относительные координаты, например ~4 будет означать "текущая координата плюс четыре". Таким образом просто указание знака ~ на самом деле является допустимым сокращением записи ~0.
Следующим параметром является уровень громкости звука. Данный параметр задает дистанцию на которой можно слышать воспроизводимый звук. Стандартные значения данного параметра от 0.0 до 1.0 но могут быть и больше единицы. Отмечу, что при значениях больше 1.0 звук на самом деле не становится громче, но его радиус слышимости (16 блоков по умолчанию для 1.0) увеличивается пропорционально. Проще говоря, радиус слышимости звука будет 16*громкость.
Параметр высота звука задает одновременно и высоту и продолжительность воспроизводимого звука, что означает что звук не только искажается, но и меняется скорость его воспроизведения. Допустимые значения данного параметра от 0.0 до 2.0 включительно.
Последним параметром является минимальная громкость, и на деле этот параметр управляет громкостью звука за пределами его нормальной зоны слышимости. Следует отметить, что громкость звука внутри сферы слышимости на деле может быть меньше, чем громкость за пределами, если значение минимальной громкости больше значения громкости.
Как видите, зная что такое категории (которые в рамках команды нам почему-то выдаются в виде переменной источник) и представляя общую работу системы звуковых событий, с командой /playsound разобраться удалось без особого труда. =)
Итак, все сказанное выше уже должно было в достаточной мере прояснить принцип работы звуковых событий, однако нам не хватает самого главного. Если вы недоумеваете где взять список звуков для новой версии Minecraft, то вам никуда не нужно идти! Достаточно полный и актуальный список вы найдете ниже, но будьте готовы к тому, что он весьма длинный. В отличие от предыдущей статьи посвященной звукам я не стал разбивать его на отдельные группы подписывая что и за какие вещи в игре отвечает, поскольку ориентироваться во всем этом можно довольно просто. Имя каждого звука (то есть каждого звукового события) обычно задано в следующем виде: тип.вид.триггер, то есть entity.cat.purr будет означать что это звуки сущностей (entity), вида кошка (cat) и триггером при этом подразумевается мурчание (purr). В общем-то всё довольно наглядно и поддается расшифровке прямо на лету, так что внимательнее вчитывайтесь в названия из левой колонки - это именно те самые имена событий, которые мы должны подставлять в команду /playsound. Ну а в самом конце статьи вы найдете привязку звуковых событий к разным группам блоков, что тоже может оказаться весьма полезной информацией.
Ну и в качестве пометки на полях еще несколько не особо важных моментов, которые следует знать. Каждое звуковое событие может быть привязано к нескольким триггерам (игровым событиям). Один и тот же звук (звуковой файл) может использоваться в нескольких разных звуковых событиях и находиться в разных категориях. Некоторые реально существующие звуковые события нельзя найти в файле sounds.json, они просто существуют будучи жестко заданными в игре. В то же время существуют звуковые события, которые не привязаны ни к каким триггерам в игре, то есть мы их можем услышать только проиграв через команду /playsound. Маловероятно что вы столкнетесь с этим вплотную, но встретив подобное не смущайтесь - это нормально. =)
Звук (звуковое событие) Используются звуки/настройки
ambient.cave ambient/cave/cave1
ambient/cave/cave2
ambient/cave/cave3
ambient/cave/cave4
ambient/cave/cave5
ambient/cave/cave6
ambient/cave/cave7
ambient/cave/cave8
ambient/cave/cave9
ambient/cave/cave10
ambient/cave/cave11
ambient/cave/cave12
ambient/cave/cave13
ambient/cave/cave14
block.anvil.break dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.anvil.destroy random/anvil_break
block.anvil.fall step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.anvil.hit step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.anvil.land random/anvil_land
block.anvil.place random/anvil_land
block.anvil.step step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.anvil.use random/anvil_use
block.brewing_stand.brew block/brewing_stand/brew1
block/brewing_stand/brew2
block.chest.close block/chest/close
block/chest/close2
block/chest/close3
block.chest.locked block/wooden_door/close
block/wooden_door/open
block.chest.open block/chest/open
block.chorus_flower.death block/chorus_flower/death1
block/chorus_flower/death2
block/chorus_flower/death3
block.chorus_flower.grow block/chorus_flower/grow1
block/chorus_flower/grow2
block/chorus_flower/grow3
block/chorus_flower/grow4
block.cloth.break dig/cloth1
dig/cloth2
dig/cloth3
dig/cloth4
block.cloth.fall step/cloth1
step/cloth2
step/cloth3
step/cloth4
block.cloth.hit step/cloth1
step/cloth2
step/cloth3
step/cloth4
block.cloth.place dig/cloth1
dig/cloth2
dig/cloth3
dig/cloth4
block.cloth.step step/cloth1
step/cloth2
step/cloth3
step/cloth4
block.comparator.click random/click
block.dispenser.dispense random/click
block.dispenser.fail random/click
block.dispenser.launch random/bow
block.end_gateway.spawn random/explode1
random/explode2
random/explode3
random/explode4
block.enderchest.close random/chestclosed
block.enderchest.open random/chestopen
block.fence_gate.close block/fence_gate/close1
block/fence_gate/close2
block.fence_gate.open block/fence_gate/open1
block/fence_gate/open2
block.fire.ambient fire/fire
block.fire.extinguish random/fizz
block.furnace.fire_crackle block/furnace/fire_crackle1
block/furnace/fire_crackle2
block/furnace/fire_crackle3
block/furnace/fire_crackle4
block/furnace/fire_crackle5
block.glass.break random/glass1
random/glass2
random/glass3
block.glass.fall step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.glass.hit step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.glass.place dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.glass.step step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.grass.break dig/grass1
dig/grass2
dig/grass3
dig/grass4
block.grass.fall step/grass1
step/grass2
step/grass3
step/grass4
step/grass5
step/grass6
block.grass.hit step/grass1
step/grass2
step/grass3
step/grass4
step/grass5
step/grass6
block.grass.place dig/grass1
dig/grass2
dig/grass3
dig/grass4
block.grass.step step/grass1
step/grass2
step/grass3
step/grass4
step/grass5
step/grass6
block.gravel.break dig/gravel1
dig/gravel2
dig/gravel3
dig/gravel4
block.gravel.fall step/gravel1
step/gravel2
step/gravel3
step/gravel4
block.gravel.hit step/gravel1
step/gravel2
step/gravel3
step/gravel4
block.gravel.place dig/gravel1
dig/gravel2
dig/gravel3
dig/gravel4
block.gravel.step step/gravel1
step/gravel2
step/gravel3
step/gravel4
block.iron_door.close block/iron_door/close1
block/iron_door/close2
block/iron_door/close3
block/iron_door/close4
block.iron_door.open block/iron_door/open1
block/iron_door/open2
block/iron_door/open3
block/iron_door/open4
block.iron_trapdoor.close block/iron_trapdoor/close1
block/iron_trapdoor/close2
block/iron_trapdoor/close3
block/iron_trapdoor/close4
block.iron_trapdoor.open block/iron_trapdoor/open1
block/iron_trapdoor/open2
block/iron_trapdoor/open3
block/iron_trapdoor/open4
block.ladder.break dig/wood1
dig/wood2
dig/wood3
dig/wood4
block.ladder.fall step/ladder1
step/ladder2
step/ladder3
step/ladder4
step/ladder5
block.ladder.hit step/ladder1
step/ladder2
step/ladder3
step/ladder4
step/ladder5
block.ladder.place dig/wood1
dig/wood2
dig/wood3
dig/wood4
block.ladder.step step/ladder1
step/ladder2
step/ladder3
step/ladder4
step/ladder5
block.lava.ambient liquid/lava
block.lava.extinguish random/fizz
block.lava.pop liquid/lavapop
block.lever.click random/click
block.metal.break dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.metal.fall step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.metal.hit step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.metal.place dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.metal.step step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.metal_pressureplate.click_off random/click
block.metal_pressureplate.click_on random/click
block.note.basedrum note/bd
block.note.bass note/bassattack
block.note.harp note/harp
block.note.hat note/hat
block.note.pling note/pling
block.note.snare note/snare
block.piston.contract tile/piston/in
block.piston.extend tile/piston/out
block.portal.ambient portal/portal
block.portal.travel portal/travel
block.portal.trigger portal/trigger
block.redstone_torch.burnout random/fizz
block.sand.break dig/sand1
dig/sand2
dig/sand3
dig/sand4
block.sand.fall step/sand1
step/sand2
step/sand3
step/sand4
step/sand5
block.sand.hit step/sand1
step/sand2
step/sand3
step/sand4
step/sand5
block.sand.place dig/sand1
dig/sand2
dig/sand3
dig/sand4
block.sand.step step/sand1
step/sand2
step/sand3
step/sand4
step/sand5
block.slime.break mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
block.slime.fall mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
block.slime.hit mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
block.slime.place mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
block.slime.step mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
block.snow.break dig/snow1
dig/snow2
dig/snow3
dig/snow4
block.snow.fall step/snow1
step/snow2
step/snow3
step/snow4
block.snow.hit step/snow1
step/snow2
step/snow3
step/snow4
block.snow.place dig/snow1
dig/snow2
dig/snow3
dig/snow4
block.snow.step step/snow1
step/snow2
step/snow3
step/snow4
block.stone.break dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.stone.fall step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.stone.hit step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.stone.place dig/stone1
dig/stone2
dig/stone3
dig/stone4
block.stone.step step/stone1
step/stone2
step/stone3
step/stone4
step/stone5
step/stone6
block.stone_button.click_off random/click
block.stone_button.click_on random/click
block.stone_pressureplate.click_off random/click
block.stone_pressureplate.click_on random/click
block.tripwire.attach random/click
block.tripwire.click_off random/click
block.tripwire.click_on random/click
block.tripwire.detach random/bowhit1
random/bowhit2
random/bowhit3
random/bowhit4
block.water.ambient liquid/water
block.waterlily.place block/waterlily/place1
block/waterlily/place2
block/waterlily/place3
block/waterlily/place4
block.wood.break dig/wood1
dig/wood2
dig/wood3
dig/wood4
block.wood.fall step/wood1
step/wood2
step/wood3
step/wood4
step/wood5
step/wood6
block.wood.hit step/wood1
step/wood2
step/wood3
step/wood4
step/wood5
step/wood6
block.wood.place dig/wood1
dig/wood2
dig/wood3
dig/wood4
block.wood.step step/wood1
step/wood2
step/wood3
step/wood4
step/wood5
step/wood6
block.wood_button.click_off random/wood_click
block.wood_button.click_on random/wood_click
block.wood_pressureplate.click_off random/click
block.wood_pressureplate.click_on random/click
block.wooden_door.close block/wooden_door/close
block/wooden_door/close2
block/wooden_door/close3
block/wooden_door/close4
block.wooden_door.open block/wooden_door/open
block/wooden_door/open2
block/wooden_door/open3
block/wooden_door/open4
block.wooden_trapdoor.close block/wooden_trapdoor/close1
block/wooden_trapdoor/close2
block/wooden_trapdoor/close3
block.wooden_trapdoor.open block/wooden_trapdoor/open1
block/wooden_trapdoor/open2
block/wooden_trapdoor/open3
block/wooden_trapdoor/open4
block/wooden_trapdoor/open5
enchant.thorns.hit enchant/thorns/hit1
enchant/thorns/hit2
enchant/thorns/hit3
enchant/thorns/hit4
entity.armorstand.break entity/armorstand/break1
entity/armorstand/break2
entity/armorstand/break3
entity/armorstand/break4
entity.armorstand.fall dig/wood1
dig/wood2
dig/wood3
dig/wood4
entity.armorstand.hit entity/armorstand/hit1
entity/armorstand/hit2
entity/armorstand/hit3
entity/armorstand/hit4
entity.armorstand.place dig/stone1
dig/stone2
dig/stone3
dig/stone4
entity.arrow.hit random/bowhit1
random/bowhit2
random/bowhit3
random/bowhit4
entity.arrow.hit_player random/successful_hit
entity.arrow.shoot random/bow
entity.bat.ambient mob/bat/idle1
mob/bat/idle2
mob/bat/idle3
mob/bat/idle4
entity.bat.death mob/bat/death
entity.bat.loop mob/bat/loop
entity.bat.hurt mob/bat/hurt1
mob/bat/hurt2
mob/bat/hurt3
mob/bat/hurt4
entity.bat.takeoff mob/bat/takeoff
entity.blaze.ambient mob/blaze/breathe1
mob/blaze/breathe2
mob/blaze/breathe3
mob/blaze/breathe4
entity.blaze.burn fire/fire
entity.blaze.death mob/blaze/death
entity.blaze.hurt mob/blaze/hit1
mob/blaze/hit2
mob/blaze/hit3
mob/blaze/hit4
entity.blaze.shoot mob/ghast/fireball4
entity.bobber.splash random/splash
entity.bobber.throw random/bow
entity.cat.ambient mob/cat/meow1
mob/cat/meow2
mob/cat/meow3
mob/cat/meow4
entity.cat.death mob/cat/hitt1
mob/cat/hitt2
mob/cat/hitt3
entity.cat.hiss mob/cat/hiss1
mob/cat/hiss2
mob/cat/hiss3
entity.cat.hurt mob/cat/hitt1
mob/cat/hitt2
mob/cat/hitt3
entity.cat.purr mob/cat/purr1
mob/cat/purr2
mob/cat/purr3
entity.cat.purreow mob/cat/purreow1
mob/cat/purreow2
entity.chicken.ambient mob/chicken/say1
mob/chicken/say2
mob/chicken/say3
entity.chicken.death mob/chicken/hurt1
mob/chicken/hurt2
entity.chicken.egg mob/chicken/plop
entity.chicken.hurt mob/chicken/hurt1
mob/chicken/hurt2
entity.chicken.step mob/chicken/step1
mob/chicken/step2
entity.cow.ambient mob/cow/say1
mob/cow/say2
mob/cow/say3
mob/cow/say4
entity.cow.death mob/cow/hurt1
mob/cow/hurt2
mob/cow/hurt3
entity.cow.hurt mob/cow/hurt1
mob/cow/hurt2
mob/cow/hurt3
entity.cow.milk entity/cow/milk1
entity/cow/milk2
entity/cow/milk3
entity.cow.step mob/cow/step1
mob/cow/step2
mob/cow/step3
mob/cow/step4
entity.creeper.death mob/creeper/death
entity.creeper.hurt mob/creeper/say1
mob/creeper/say2
mob/creeper/say3
mob/creeper/say4
entity.creeper.primed random/fuse
entity.donkey.ambient mob/horse/donkey/idle1
mob/horse/donkey/idle2
mob/horse/donkey/idle3
entity.donkey.angry mob/horse/donkey/angry1
mob/horse/donkey/angry2
entity.donkey.chest mob/chicken/plop
entity.donkey.death mob/horse/donkey/death
entity.donkey.hurt mob/horse/donkey/hit1
mob/horse/donkey/hit2
mob/horse/donkey/hit3
entity.egg.throw random/bow
entity.elder_guardian.ambient mob/guardian/elder_idle1
mob/guardian/elder_idle2
mob/guardian/elder_idle3
mob/guardian/elder_idle4
entity.elder_guardian.ambient_land mob/guardian/land_idle1
mob/guardian/land_idle2
mob/guardian/land_idle3
mob/guardian/land_idle4
entity.elder_guardian.curse mob/guardian/curse
entity.elder_guardian.death mob/guardian/elder_death
entity.elder_guardian.death_land mob/guardian/land_death
entity.elder_guardian.hurt mob/guardian/elder_hit1
mob/guardian/elder_hit2
mob/guardian/elder_hit3
mob/guardian/elder_hit4
entity.elder_guardian.hurt_land mob/guardian/land_hit1
mob/guardian/land_hit2
mob/guardian/land_hit3
mob/guardian/land_hit4
entity.enderdragon.ambient mob/enderdragon/growl1
mob/enderdragon/growl2
mob/enderdragon/growl3
mob/enderdragon/growl4
entity.enderdragon.death mob/enderdragon/end
entity.enderdragon.flap mob/enderdragon/wings1
mob/enderdragon/wings2
mob/enderdragon/wings3
mob/enderdragon/wings4
mob/enderdragon/wings5
mob/enderdragon/wings6
entity.enderdragon.growl mob/enderdragon/growl1
mob/enderdragon/growl2
mob/enderdragon/growl3
mob/enderdragon/growl4
entity.enderdragon.hurt mob/enderdragon/hit1
mob/enderdragon/hit2
mob/enderdragon/hit3
mob/enderdragon/hit4
entity.enderdragon.shoot mob/ghast/fireball4
entity.enderdragon_fireball.explode random/explode1
random/explode2
random/explode3
random/explode4
entity.endereye.launch random/bow
entity.endermen.ambient mob/endermen/idle1
mob/endermen/idle2
mob/endermen/idle3
mob/endermen/idle4
mob/endermen/idle5
entity.endermen.death mob/endermen/death
entity.endermen.hurt mob/endermen/hit1
mob/endermen/hit2
mob/endermen/hit3
mob/endermen/hit4
entity.endermen.scream mob/endermen/scream1
mob/endermen/scream2
mob/endermen/scream3
mob/endermen/scream4
entity.endermen.stare mob/endermen/stare
entity.endermen.teleport mob/endermen/portal
mob/endermen/portal2
entity.endermite.ambient mob/silverfish/say1
mob/silverfish/say2
mob/silverfish/say3
mob/silverfish/say4
entity.endermite.death mob/silverfish/kill
entity.endermite.hurt mob/silverfish/hit1
mob/silverfish/hit2
mob/silverfish/hit3
entity.endermite.step mob/silverfish/step1
mob/silverfish/step2
mob/silverfish/step3
mob/silverfish/step4
entity.enderpearl.throw random/bow
entity.experience_bottle.throw random/bow
entity.experience_orb.pickup random/orb
entity.experience_orb.touch random/orb
entity.firework.blast fireworks/blast1
entity.firework.blast_far fireworks/blast_far1
entity.firework.large_blast fireworks/largeBlast1
entity.firework.large_blast_far fireworks/largeBlast_far1
entity.firework.launch fireworks/launch1
entity.firework.shoot random/bow
entity.firework.twinkle fireworks/twinkle1
entity.firework.twinkle_far fireworks/twinkle_far1
entity.generic.big_fall damage/fallbig
entity.generic.burn random/fizz
entity.generic.death damage/hit1
damage/hit2
damage/hit3
entity.generic.drink random/drink
entity.generic.eat random/eat1
random/eat2
random/eat3
entity.generic.explode random/explode1
random/explode2
random/explode3
random/explode4
entity.generic.extinguish_fire random/fizz
entity.generic.hurt damage/hit1
damage/hit2
damage/hit3
entity.generic.small_fall damage/fallsmall
entity.generic.splash liquid/splash
liquid/splash2
entity.generic.swim liquid/swim1
liquid/swim2
liquid/swim3
liquid/swim4
entity.ghast.ambient mob/ghast/moan1
mob/ghast/moan2
mob/ghast/moan3
mob/ghast/moan4
mob/ghast/moan5
mob/ghast/moan6
mob/ghast/moan7
entity.ghast.death mob/ghast/death
entity.ghast.hurt mob/ghast/scream1
mob/ghast/scream2
mob/ghast/scream3
mob/ghast/scream4
mob/ghast/scream5
entity.ghast.scream mob/ghast/affectionate_scream
entity.ghast.shoot mob/ghast/fireball4
entity.ghast.warn mob/ghast/charge
entity.guardian.ambient entity/guardian/ambient1, volume = 0.1
entity/guardian/ambient2, volume = 0.1
entity/guardian/ambient3, volume = 0.1
entity/guardian/ambient4, volume = 0.1
entity.guardian.ambient_land mob/guardian/land_idle1
mob/guardian/land_idle2
mob/guardian/land_idle3
mob/guardian/land_idle4
entity.guardian.attack mob/guardian/attack_loop
entity.guardian.death mob/guardian/guardian_death
entity.guardian.death_land mob/guardian/land_death
entity.guardian.flop mob/guardian/flop1
mob/guardian/flop2
mob/guardian/flop3
mob/guardian/flop4
entity.guardian.hurt mob/guardian/guardian_hit1
mob/guardian/guardian_hit2
mob/guardian/guardian_hit3
mob/guardian/guardian_hit4
entity.guardian.hurt_land mob/guardian/land_hit1
mob/guardian/land_hit2
mob/guardian/land_hit3
mob/guardian/land_hit4
entity.horse.ambient mob/horse/idle1
mob/horse/idle2
mob/horse/idle3
entity.horse.angry mob/horse/angry1
entity.horse.armor mob/horse/armor
entity.horse.breathe mob/horse/breathe1
mob/horse/breathe2
mob/horse/breathe3
entity.horse.death mob/horse/death
entity.horse.eat entity/horse/eat1
entity/horse/eat2
entity/horse/eat3
entity/horse/eat4
entity/horse/eat5
entity.horse.gallop mob/horse/gallop1
mob/horse/gallop2
mob/horse/gallop3
mob/horse/gallop4
entity.horse.hurt mob/horse/hit1
mob/horse/hit2
mob/horse/hit3
mob/horse/hit4
entity.horse.jump mob/horse/jump
entity.horse.land mob/horse/land
entity.horse.saddle mob/horse/leather
entity.horse.step mob/horse/soft1
mob/horse/soft2
mob/horse/soft3
mob/horse/soft4
mob/horse/soft5
mob/horse/soft6
entity.horse.step_wood mob/horse/wood1
mob/horse/wood2
mob/horse/wood3
mob/horse/wood4
mob/horse/wood5
mob/horse/wood6
entity.hostile.big_fall damage/fallbig
entity.hostile.death damage/hit1
damage/hit2
damage/hit3
entity.hostile.hurt damage/hit1
damage/hit2
damage/hit3
entity.hostile.small_fall damage/fallsmall
entity.hostile.splash liquid/splash
liquid/splash2
entity.hostile.swim liquid/swim1
liquid/swim2
liquid/swim3
liquid/swim4
entity.irongolem.attack mob/irongolem/throw
entity.irongolem.death mob/irongolem/death
entity.irongolem.hurt mob/irongolem/hit1
mob/irongolem/hit2
mob/irongolem/hit3
mob/irongolem/hit4
entity.irongolem.step mob/irongolem/walk1
mob/irongolem/walk2
mob/irongolem/walk3
mob/irongolem/walk4
entity.item.break random/break
entity.item.pickup random/pop
entity.itemframe.add_item entity/itemframe/add_item1
entity/itemframe/add_item2
entity/itemframe/add_item3
entity/itemframe/add_item4
entity.itemframe.break entity/itemframe/break1
entity/itemframe/break2
entity/itemframe/break3
entity.itemframe.place entity/itemframe/place1
entity/itemframe/place2
entity/itemframe/place3
entity/itemframe/place4
entity.itemframe.remove_item entity/itemframe/remove_item1
entity/itemframe/remove_item2
entity/itemframe/remove_item3
entity/itemframe/remove_item4
entity.itemframe.rotate_item entity/itemframe/rotate_item1
entity/itemframe/rotate_item2
entity/itemframe/rotate_item3
entity/itemframe/rotate_item4
entity.leashknot.break entity/leashknot/break1
entity/leashknot/break2
entity/leashknot/break3
entity.leashknot.place entity/leashknot/place1
entity/leashknot/place2
entity/leashknot/place3
entity.lightning.impact random/explode1
random/explode2
random/explode3
random/explode4
entity.lightning.thunder ambient/weather/thunder1
ambient/weather/thunder2
ambient/weather/thunder3
entity.lingeringpotion.throw random/bow
entity.magmacube.death mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.magmacube.hurt mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.magmacube.jump mob/magmacube/jump1
mob/magmacube/jump2
mob/magmacube/jump3
mob/magmacube/jump4
entity.magmacube.squish mob/magmacube/big1
mob/magmacube/big2
mob/magmacube/big3
mob/magmacube/big4
entity.minecart.inside minecart/inside
entity.minecart.riding minecart/base
entity.mooshroom.shear mob/sheep/shear
entity.mule.ambient mob/horse/donkey/idle1
mob/horse/donkey/idle2
mob/horse/donkey/idle3
entity.mule.death mob/horse/donkey/death
entity.mule.hurt mob/horse/donkey/hit1
mob/horse/donkey/hit2
mob/horse/donkey/hit3
entity.painting.break entity/painting/break1
entity/painting/break2
entity/painting/break3
entity.painting.place entity/painting/place1
entity/painting/place2
entity/painting/place3
entity/painting/place4
entity.pig.ambient mob/pig/say1
mob/pig/say2
mob/pig/say3
entity.pig.death mob/pig/death
entity.pig.hurt mob/pig/say1
mob/pig/say2
mob/pig/say3
entity.pig.saddle mob/horse/leather
entity.pig.step mob/pig/step1
mob/pig/step2
mob/pig/step3
mob/pig/step4
mob/pig/step5
entity.player.attack.crit entity/player/attack/crit1, volume = 0.7
entity/player/attack/crit2, volume = 0.7
entity/player/attack/crit3, volume = 0.7
entity.player.attack.knockback entity/player/attack/knockback1, volume = 0.7
entity/player/attack/knockback2, volume = 0.7
entity/player/attack/knockback3, volume = 0.7
entity/player/attack/knockback4, volume = 0.7
entity.player.attack.nodamage entity/player/attack/weak1, volume = 0.7
entity/player/attack/weak2, volume = 0.7
entity/player/attack/weak3, volume = 0.7
entity/player/attack/weak4, volume = 0.7
entity.player.attack.strong entity/player/attack/strong1, volume = 0.6
entity/player/attack/strong2, volume = 0.6
entity/player/attack/strong3, volume = 0.6
entity/player/attack/strong4, volume = 0.6
entity/player/attack/strong5, volume = 0.7
entity/player/attack/strong6, volume = 0.7
entity.player.attack.sweep entity/player/attack/sweep1, volume = 0.7
entity/player/attack/sweep2, volume = 0.7
entity/player/attack/sweep3, volume = 0.7
entity/player/attack/sweep4, volume = 0.7
entity/player/attack/sweep5, volume = 0.7
entity/player/attack/sweep6, volume = 0.7
entity/player/attack/sweep7, volume = 0.7
entity.player.attack.weak entity/player/attack/weak1, volume = 0.7
entity/player/attack/weak2, volume = 0.7
entity/player/attack/weak3, volume = 0.7
entity/player/attack/weak4, volume = 0.7
entity.player.big_fall damage/fallbig
entity.player.breath random/breath
entity.player.burp random/burp
entity.player.death damage/hit1
damage/hit2
damage/hit3
entity.player.hurt damage/hit1
damage/hit2
damage/hit3
entity.player.levelup random/levelup
entity.player.small_fall damage/fallsmall
entity.player.splash liquid/splash
liquid/splash2
entity.player.swim liquid/swim1
liquid/swim2
liquid/swim3
liquid/swim4
entity.rabbit.ambient mob/rabbit/idle1, volume = 0.25
mob/rabbit/idle2, volume = 0.25
mob/rabbit/idle3, volume = 0.25
mob/rabbit/idle4, volume = 0.25
entity.rabbit.attack entity/rabbit/attack1
entity/rabbit/attack2
entity/rabbit/attack3
entity/rabbit/attack4
entity.rabbit.death mob/rabbit/bunnymurder, volume = 0.5
entity.rabbit.hurt mob/rabbit/hurt1, volume = 0.5
mob/rabbit/hurt2, volume = 0.5
mob/rabbit/hurt3, volume = 0.5
mob/rabbit/hurt4, volume = 0.5
entity.rabbit.jump mob/rabbit/hop1, volume = 0.1
mob/rabbit/hop2, volume = 0.1
mob/rabbit/hop3, volume = 0.1
mob/rabbit/hop4, volume = 0.1
entity.sheep.ambient mob/sheep/say1
mob/sheep/say2
mob/sheep/say3
entity.sheep.death mob/sheep/say1
mob/sheep/say2
mob/sheep/say3
entity.sheep.hurt mob/sheep/say1
mob/sheep/say2
mob/sheep/say3
entity.sheep.shear mob/sheep/shear
entity.sheep.step mob/sheep/step1
mob/sheep/step2
mob/sheep/step3
mob/sheep/step4
mob/sheep/step5
entity.shulker.ambient entity/shulker/ambient1
entity/shulker/ambient2
entity/shulker/ambient3
entity/shulker/ambient4
entity/shulker/ambient5
entity/shulker/ambient6
entity/shulker/ambient7
entity.shulker.close entity/shulker/close1
entity/shulker/close2
entity/shulker/close3
entity/shulker/close4
entity/shulker/close5
entity.shulker.death entity/shulker/death1
entity/shulker/death2
entity/shulker/death3
entity/shulker/death4
entity.shulker.hurt entity/shulker/hurt1
entity/shulker/hurt2
entity/shulker/hurt3
entity/shulker/hurt4
entity.shulker.hurt_closed entity/shulker/hurt_closed1
entity/shulker/hurt_closed2
entity/shulker/hurt_closed3
entity/shulker/hurt_closed4
entity/shulker/hurt_closed5
entity.shulker.open entity/shulker/open1
entity/shulker/open2
entity/shulker/open3
entity/shulker/open4
entity/shulker/open5
entity.shulker.shoot entity/shulker/shoot1
entity/shulker/shoot2
entity/shulker/shoot3
entity/shulker/shoot4
entity.shulker.teleport mob/endermen/portal
mob/endermen/portal2
entity.shulker_bullet.hit entity/shulker_bullet/hit1
entity/shulker_bullet/hit2
entity/shulker_bullet/hit3
entity/shulker_bullet/hit4
entity.shulker_bullet.hurt entity/shulker_bullet/hit1
entity/shulker_bullet/hit2
entity/shulker_bullet/hit3
entity/shulker_bullet/hit4
entity.silverfish.ambient mob/silverfish/say1
mob/silverfish/say2
mob/silverfish/say3
mob/silverfish/say4
entity.silverfish.death mob/silverfish/kill
entity.silverfish.hurt mob/silverfish/hit1
mob/silverfish/hit2
mob/silverfish/hit3
entity.silverfish.step mob/silverfish/step1
mob/silverfish/step2
mob/silverfish/step3
mob/silverfish/step4
entity.skeleton.ambient mob/skeleton/say1
mob/skeleton/say2
mob/skeleton/say3
entity.skeleton.death mob/skeleton/death
entity.skeleton.hurt mob/skeleton/hurt1
mob/skeleton/hurt2
mob/skeleton/hurt3
mob/skeleton/hurt4
entity.skeleton.shoot random/bow
entity.skeleton.step mob/skeleton/step1
mob/skeleton/step2
mob/skeleton/step3
mob/skeleton/step4
entity.skeleton_horse.ambient mob/horse/skeleton/idle1
mob/horse/skeleton/idle2
mob/horse/skeleton/idle3
entity.skeleton_horse.death mob/horse/skeleton/death
entity.skeleton_horse.hurt mob/horse/skeleton/hit1
mob/horse/skeleton/hit2
mob/horse/skeleton/hit3
mob/horse/skeleton/hit4
entity.slime.attack mob/slime/attack1
mob/slime/attack2
entity.slime.death mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.slime.hurt mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.slime.jump mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.slime.squish mob/slime/big1
mob/slime/big2
mob/slime/big3
mob/slime/big4
entity.small_magmacube.death mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
entity.small_magmacube.hurt mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
entity.small_magmacube.squish mob/magmacube/small1
mob/magmacube/small2
mob/magmacube/small3
mob/magmacube/small4
mob/magmacube/small5
entity.small_slime.death mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
entity.small_slime.hurt mob/slime/small1
mob/slime/small2
mob/slime/small3
mob/slime/small4
mob/slime/small5
entity.small_slime.jump  
entity.small_slime.squish  
entity.snowball.throw random/bow
entity.snowman.ambient  
entity.snowman.death entity/snowman/death1
entity/snowman/death2
entity/snowman/death3
entity.snowman.hurt entity/snowman/hurt1
entity/snowman/hurt2
entity/snowman/hurt3
entity.snowman.shoot random/bow
entity.spider.ambient mob/spider/say1
mob/spider/say2
mob/spider/say3
mob/spider/say4
entity.spider.death mob/spider/death
entity.spider.hurt mob/spider/say1
mob/spider/say2
mob/spider/say3
mob/spider/say4
entity.spider.step mob/spider/step1
mob/spider/step2
mob/spider/step3
mob/spider/step4
entity.splash_potion.break random/glass1
random/glass2
random/glass3
entity.splash_potion.throw random/bow
entity.squid.ambient entity/squid/ambient1
entity/squid/ambient2
entity/squid/ambient3
entity/squid/ambient4
entity/squid/ambient5
entity.squid.death entity/squid/death1
entity/squid/death2
entity/squid/death3
entity.squid.hurt entity/squid/hurt1
entity/squid/hurt2
entity/squid/hurt3
entity/squid/hurt4
entity.tnt.primed random/fuse
entity.villager.ambient mob/villager/idle1
mob/villager/idle2
mob/villager/idle3
entity.villager.death mob/villager/death
entity.villager.hurt mob/villager/hit1
mob/villager/hit2
mob/villager/hit3
mob/villager/hit4
entity.villager.no mob/villager/no1
mob/villager/no2
mob/villager/no3
entity.villager.trading mob/villager/haggle1
mob/villager/haggle2
mob/villager/haggle3
entity.villager.yes mob/villager/yes1
mob/villager/yes2
mob/villager/yes3
entity.witch.ambient entity/witch/ambient5, pitch = 0.9
entity/witch/ambient1
entity/witch/ambient2
entity/witch/ambient3
entity/witch/ambient4
entity/witch/ambient5
entity.witch.death entity/witch/death1
entity/witch/death2
entity/witch/death3
entity.witch.drink entity/witch/drink1
entity/witch/drink2
entity/witch/drink3
entity/witch/drink4
entity.witch.hurt entity/witch/hurt1
entity/witch/hurt2
entity/witch/hurt3
entity.witch.throw entity/witch/throw1
entity/witch/throw2
entity/witch/throw3
entity.wither.ambient mob/wither/idle1
mob/wither/idle2
mob/wither/idle3
mob/wither/idle4
entity.wither.break_block mob/zombie/woodbreak
entity.wither.death mob/wither/death
entity.wither.hurt mob/wither/hurt1
mob/wither/hurt2
mob/wither/hurt3
mob/wither/hurt4
entity.wither.shoot mob/wither/shoot
entity.wither.spawn mob/wither/spawn
entity.wolf.ambient mob/wolf/bark1
mob/wolf/bark2
mob/wolf/bark3
entity.wolf.death mob/wolf/death
entity.wolf.growl mob/wolf/growl1
mob/wolf/growl2
mob/wolf/growl3
entity.wolf.howl mob/wolf/howl1
mob/wolf/howl2
entity.wolf.hurt mob/wolf/hurt1
mob/wolf/hurt2
mob/wolf/hurt3
entity.wolf.pant mob/wolf/panting
entity.wolf.shake mob/wolf/shake
entity.wolf.step mob/wolf/step1
mob/wolf/step2
mob/wolf/step3
mob/wolf/step4
mob/wolf/step5
entity.wolf.whine mob/wolf/whine
entity.zombie.ambient mob/zombie/say1
mob/zombie/say2
mob/zombie/say3
entity.zombie.attack_door_wood mob/zombie/wood1
mob/zombie/wood2
mob/zombie/wood3
mob/zombie/wood4
entity.zombie.attack_iron_door mob/zombie/metal1
mob/zombie/metal2
mob/zombie/metal3
entity.zombie.break_door_wood mob/zombie/woodbreak
entity.zombie.death mob/zombie/death
entity.zombie.hurt mob/zombie/hurt1
mob/zombie/hurt2
entity.zombie.infect mob/zombie/infect
entity.zombie.step mob/zombie/step1
mob/zombie/step2
mob/zombie/step3
mob/zombie/step4
mob/zombie/step5
entity.zombie_horse.ambient mob/horse/zombie/idle1
mob/horse/zombie/idle2
mob/horse/zombie/idle3
entity.zombie_horse.death mob/horse/zombie/death
entity.zombie_horse.hurt mob/horse/zombie/hit1
mob/horse/zombie/hit2
mob/horse/zombie/hit3
mob/horse/zombie/hit4
entity.zombie_pig.ambient mob/zombiepig/zpig1
mob/zombiepig/zpig2
mob/zombiepig/zpig3
mob/zombiepig/zpig4
entity.zombie_pig.angry mob/zombiepig/zpigangry1
mob/zombiepig/zpigangry2
mob/zombiepig/zpigangry3
mob/zombiepig/zpigangry4
entity.zombie_pig.death mob/zombiepig/zpigdeath
entity.zombie_pig.hurt mob/zombiepig/zpighurt1
mob/zombiepig/zpighurt2
entity.zombie_villager.ambient mob/zombie/say1
mob/zombie/say2
mob/zombie/say3
entity.zombie_villager.converted mob/zombie/unfect
entity.zombie_villager.cure mob/zombie/remedy
entity.zombie_villager.death mob/zombie/death
entity.zombie_villager.hurt mob/zombie/hurt1
mob/zombie/hurt2
entity.zombie_villager.step mob/zombie/step1
mob/zombie/step2
mob/zombie/step3
mob/zombie/step4
mob/zombie/step5
item.armor.equip_chain item/armor/equip_chain1
item/armor/equip_chain2
item/armor/equip_chain3
item/armor/equip_chain4
item/armor/equip_chain5
item/armor/equip_chain6
item.armor.equip_diamond item/armor/equip_diamond1
item/armor/equip_diamond2
item/armor/equip_diamond3
item/armor/equip_diamond4
item/armor/equip_diamond5
item/armor/equip_diamond6
item.armor.equip_generic item/armor/equip_generic1
item/armor/equip_generic2
item/armor/equip_generic3
item/armor/equip_generic4
item/armor/equip_generic5
item/armor/equip_generic6
item.armor.equip_gold item/armor/equip_gold1
item/armor/equip_gold2
item/armor/equip_gold3
item/armor/equip_gold4
item/armor/equip_gold5
item/armor/equip_gold6
item.armor.equip_iron item/armor/equip_iron1
item/armor/equip_iron2
item/armor/equip_iron3
item/armor/equip_iron4
item/armor/equip_iron5
item/armor/equip_iron6
item.armor.equip_leather item/armor/equip_leather1
item/armor/equip_leather2
item/armor/equip_leather3
item/armor/equip_leather4
item/armor/equip_leather5
item/armor/equip_leather6
item.bottle.fill item/bottle/fill1
item/bottle/fill2
item/bottle/fill3
item/bottle/fill4
item.bottle.fill_dragonbreath item/bottle/fill_dragonbreath1
item/bottle/fill_dragonbreath2
item.bucket.empty item/bucket/empty1, pitch = 0.9
item/bucket/empty1
item/bucket/empty2
item/bucket/empty3
item.bucket.empty_lava item/bucket/empty_lava1
item/bucket/empty_lava2
item/bucket/empty_lava3
item.bucket.fill item/bucket/fill1
item/bucket/fill2
item/bucket/fill3
item.bucket.fill_lava item/bucket/fill_lava1
item/bucket/fill_lava2
item/bucket/fill_lava3
item.chorus_fruit.teleport mob/endermen/portal
mob/endermen/portal2
item.elytra.flying item/elytra/elytra_loop, volume = 0.6
item.firecharge.use mob/ghast/fireball4
item.flintandsteel.use fire/ignite
item.hoe.till item/hoe/till1
item/hoe/till2
item/hoe/till3
item/hoe/till4
item.shield.block item/shield/block1
item/shield/block2
item/shield/block3
item/shield/block4
item/shield/block5
item.shield.break random/break
item.shovel.flatten item/shovel/flatten1
item/shovel/flatten2
item/shovel/flatten3
item/shovel/flatten4
music.creative music.game, type = event
music/game/creative/creative1, stream = true
music/game/creative/creative2, stream = true
music/game/creative/creative3, stream = true
music/game/creative/creative4, stream = true
music/game/creative/creative5, stream = true
music/game/creative/creative6, stream = true
music.credits music/game/end/credits, stream = true
music.dragon music/game/end/boss, stream = true
music.end music/game/end/end, stream = true
music.game music/game/calm1, stream = true
music/game/calm2, stream = true
music/game/calm3, stream = true
music/game/hal1, stream = true
music/game/hal2, stream = true
music/game/hal3, stream = true
music/game/hal4, stream = true
music/game/nuance1, stream = true
music/game/nuance2, stream = true
music/game/piano1, stream = true
music/game/piano2, stream = true
music/game/piano3, stream = true
music.menu music/menu/menu1, stream = true
music/menu/menu2, stream = true
music/menu/menu3, stream = true
music/menu/menu4, stream = true
music.nether music/game/nether/nether1, stream = true
music/game/nether/nether2, stream = true
music/game/nether/nether3, stream = true
music/game/nether/nether4, stream = true
record.11 records/11, stream = true
record.13 records/13, stream = true
record.blocks records/blocks, stream = true
record.cat records/cat, stream = true
record.chirp records/chirp, stream = true
record.far records/far, stream = true
record.mall records/mall, stream = true
record.mellohi records/mellohi, stream = true
record.stal records/stal, stream = true
record.strad records/strad, stream = true
record.wait records/wait, stream = true
record.ward records/ward, stream = true
ui.button.click random/click
weather.rain ambient/weather/rain1
ambient/weather/rain2
ambient/weather/rain3
ambient/weather/rain4
ambient/weather/rain5
ambient/weather/rain6
ambient/weather/rain7
ambient/weather/rain8
weather.rain.above ambient/weather/rain1
ambient/weather/rain2
ambient/weather/rain3
ambient/weather/rain4
Ну и обещанная таблица соответствия разных видов блоков игровым категориям. Поскольку в новых версиях у нас используется система звуковых событий, блоки разного вида теперь также не воспроизводят звуки напрямую а используют соответствующее звуковое событие. Например звуковое событие block.sand.step будет использоваться для песка душ (Soul Sand). В данном случае прямо в названии мы видим что это тип block категория sand и триггер step. То есть та самая ситуация когда мы наступаем на какой-либо "песок", триггер ходьбы по песку если говорить иначе. Какие категории относятся к каким блокам вы можете узнать из этой таблицы:
Категория Блоки Комментарии
cloth Wool
Cactus
Cake
Carpet
Fire
В случае уничтожения блока огнем будет использоваться звук random.fizz вместо звука dig.cloth.
grass Grass Block
Sponge
Wet Sponge
Leaves
Tall Grass
Fern
Dead Bush
Flowers
Brown Mushroom
Red Mushroom
TNT
Wheat
Sugar Canes
Vines
Mycelium
Lily Pad
Carrots
Potatoes
Hay Bale
Пшеница (Wheat), кувшинки (Lily Pad), морковь (Carrot) и картофель (Potatoe) не издают никаких звуков при размещении.
gravel Dirt
Coarse Dirt
Podzol
Gravel
Farmland
Clay
 
sand Sand
Red Sand
Soul Sand
 
snow Snow (cover)
Snow Block
 
stone Stone
Granite
Polished Granite
Diorite
Polished Diorite
Andesite
Polished Andesite
Cobblestone
Bedrock
Gold Ore
Iron Ore
Coal Ore
Lapis Lazuli Ore
Lapis Lazuli Block
Dispenser
Sandstone
Note Block
Powered Rail
Detector Rail
Sticky Piston
Cobweb
Piston
Block of Gold
Block of Iron
Stone Slab
Bricks
Mossy Cobblestone
Obsidian
Monster Spawner
Redstone Wire
Diamond Ore
Block of Diamond
Furnace
Rail
Cobblestone Stairs
Stone Pressure Plate
Iron Door
Redstone Ore
Stone Button
Jukebox
Netherrack
Monster Egg
Stone Bricks
Iron Bars
Brick Stairs
Stone Brick Stairs
Nether Bricks
Nether Brick Fence
Nether Brick Stairs
Nether Wart
Enchantment Table
Brewing Stand
Cauldron
End Portal
End Stone
Dragon Egg
Redstone Lamp
Sandstone Stairs
Emerald Ore
Ender Chest
Tripwire Hook
Tripwire
Block of Emerald
Command Block
Beacon
Cobblestone Wall
Flower Pot
Head
Anvil
Block of Redstone
Nether Quartz Ore
Hopper
Block of Quartz
Quartz Stairs
Activator Rail
Dropper
Stained Clay
Barrier
Iron Trapdoor
Prismarine
Prismarine Bricks
Dark Prismarine
Hardened Clay
Block of Coal
Red Sandstone
Red Sandstone Stairs
Red Sandstone Slab
Нотные блоки (Note Block) и проигрыватель (Jukebox) это единственные блоки из данной категории, которые добываются при помощи топора а не кирки.
Рэдстоун-пыль (Redstone Wire), железные двери (Iron Door), и адские наросты (Nether Wart) не издают звук при размещении.
wood Oak Wood Planks
Spruce Wood Planks
Birch Wood Planks
Jungle Wood Planks
Acacia Wood Planks
Dark Oak Wood Planks
Oak Wood
Spruce Wood
Birch Wood
Jungle Wood
Bed
Bookshelf
Torch
Oak Wood Stairs
Chest
Crafting Table
Ladder
Sign
Lever
Wooden Pressure Plate
Redstone Torch
Oak Fence
Pumpkin
Jack-o'-Lantern
Redstone Repeater
Wooden Trapdoor
Huge Mushroom Block
Melon
Pumpkin Stem
Melon Stem
Oak Fence Gate
Oak Wood Slab
Spruce Wood Slab
Birch Wood Slab
Jungle Wood Slab
Acacia Wood Slab
Dark Oak Wood Slab
Cocoa Pod
Spruce Wood Stairs
Birch Wood Stairs
Jungle Wood Stairs
Wooden Button
Trapped Chest
Light Weighted Pressure Plate
Heavy Weighted Pressure Plate
Redstone Comparator
Daylight Sensor
Acacia Wood
Dark Oak Wood
Acacia Wood Stairs
Dark Oak Wood Stairs
Banner
Spruce Fence Gate
Birch Fence Gate
Jungle Fence Gate
Dark Oak Fence Gate
Acacia Fence Gate
Spruce Fence
Birch Fence
Jungle Fence
Dark Oak Fence
Acacia Fence
Spruce Door
Birch Door
Jungle Door
Acacia Door
Dark Oak Door
Утяжеленные нажимные плиты (Weighted Pressure Plate) это единственный блок из этой категории, который добывается при помощи кирки а не топора.
Кровати (Bed), стебли тыквы (Pumpkin Stem), стебли арбуза (Melon Stem), стручки какао (Cocoa Pod), флаги (Banner) и двери (Door) не издают звук при размещении.
glass Glass
Ice
Glowstone
Nether Portal
Stained Glass
Glass Pane
End Portal Frame
Stained Glass Pane
Sea Lantern
Packed Ice
Блоки этой категории используют для озвучивания ходьбы и слома звуки группы каменных (stone) блоков, но при размещении издаваемым звуком будет step.stone а при разрушении будет воспроизводиться звук dig.glass.
Наверх