[1.7.10]Туториал добавление своей музыки в ванильный minecraft

Доброго времени суток! Не так давно у меня была необходимость впихнуть в игру свою музыку. Долгий поиск в интернете предлагал мне ставить для этой цели моды или ресурс паки! А зачем? Если есть sounds.json. Единственное в чем мне пришлось разбираться это структура папки assets, а именно то, что хранится в objects.
 Ну так начнем. Сначала нужно найти сам файл sounds.json. Открываем файл /assets/indexes/1.7.10.json.
Видим там примерно это:
Код:
{
  "objects": {
    "realms/lang/de_DE.lang": {
      "hash": "729b2c09d5c588787b23127eeda2730f9c039194",
      "size": 7784
    },
    "realms/lang/cy_GB.lang": {
      "hash": "7b52463b2df4685d2d82c5d257fd5ec79843d618",
      "size": 7688
    },
 ...
Итак разберем:
Код:
"objects" мы не трогаем вообще
Код:
"realms/lang/de_DE.lang" - Путь до файла
Код:
"hash": "729b2c09d5c588787b23127eeda2730f9c039194" - Его хеш сумма
Код:
"size": 7784 - Побайтовый размер файла!!!
С помощью поиска находим sounds.json
Код:
"minecraft/sounds.json": {
      "hash": "ca6892be208a57f135e18b3e0f21f37b63fbc9cc",
      "size": 34360
    },
У меня он будет лежать в папке /assets/objects/ca/ с именем:
Код:
ca6892be208a57f135e18b3e0f21f37b63fbc9cc
Важно!!! Т.к у меня файл уже модифицирован он лежит по этому пути, но у вас он будет лежать в другой директории т.к. будет иметь другую хеш сумму! Название под папки берется из 2х первых символов хеш суммы файла!!!
Теперь открываем его и видим следующее:
Код:
{
  "ambient.cave.cave": {
    "category": "ambient",
    "sounds": [
      "ambient/cave/cave1",
      "ambient/cave/cave10",
      "ambient/cave/cave11",
      "ambient/cave/cave12",
      "ambient/cave/cave13",
      "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.weather.rain": {
    "category": "weather",
    "sounds": [
      "ambient/weather/rain1",
      "ambient/weather/rain2",
      "ambient/weather/rain3",
      "ambient/weather/rain4"
    ]
  },
...
Я думаю, что многие знают как тут все устроено.
Мне требовалось добавить фоновую музыку для выживания и творчества.
Код:
 "music.game": {
    "category": "music",
    "sounds": [
      {
        "name": "music/game/calm1",
        "stream": true
      },
      {
        "name": "music/game/calm2",
        "stream": true
      },
      {
        "name": "music/game/calm3",
        "stream": true
      },
      {
        "name": "music/game/hal1",
        "stream": true
      },
      {
        "name": "music/game/hal2",
        "stream": true
      },
      {
        "name": "music/game/hal3",
        "stream": true
      },
      {
        "name": "music/game/hal4",
        "stream": true
      },
      {
        "name": "music/game/nuance1",
        "stream": true
      },
      {
        "name": "music/game/nuance2",
        "stream": true
      },
      {
        "name": "music/game/piano1",
        "stream": true
      },
      {
        "name": "music/game/piano2",
        "stream": true
      },
      {
        "name": "music/game/piano3",
        "stream": true
      },
      {
        "name": "asd/saw/hellozepp",
        "stream": true
      },
      {
        "name": "asd/saw/gameend",
        "stream": true
      }
    ]
  },
  "music.game.creative": {
    "category": "music",
    "sounds": [
      {
        "type": "event",
        "name": "music.game"
      },
      {
        "name": "music/game/creative/creative1",
        "stream": true
      },
      {
        "name": "music/game/creative/creative2",
        "stream": true
      },
      {
        "name": "music/game/creative/creative3",
        "stream": true
      },
      {
        "name": "music/game/creative/creative4",
        "stream": true
      },
      {
        "name": "music/game/creative/creative5",
        "stream": true
      },
      {
        "name": "music/game/creative/creative6",
        "stream": true
      },
      {
        "name": "asd/met1",
        "stream": true
      },
      {
        "name": "asd/met2",
        "stream": true
      },
      {
        "name": "asd/vav",
        "stream": true
      }
    ]
  },
Итак разберем
Код:
"music.game" - Музыка для выживания
      {
        "name": "asd/saw/hellozepp", - Путь до файла.
        "stream": true
      }, ТУТ ЗАПЯТАЯ НУЖНА!!
      {
        "name": "asd/saw/gameend",
        "stream": true
      }  - ВАЖНО НЕ СТАВИТЬ ТУТ ЗАПЯТУЮ!!
  "music.game.creative" - Музыка для творчества
      {
        "name": "asd/vav",
        "stream": true
      }
Что делает stream я так и не понял.
После того, как было все прописано перейдем к самому интересному.
Узнаем новую хеш сумму файла sounds.json и переименовываем его. После помещяем его в соответствующую под папку в objects/(первые 2 символа хеш суммы)
Сначала конвертируем свою музыку в формат .ogg. Крайне не рекомендуется использовать Format Factory т.к. звук даже на максимально качестве получается с искажениями. Лучше всего перегнать в sony Vegas.
После узнаем SHA1 сумму файла. ВАЖНО Сумма должна быть в нижнем регистре. Переименовываем файл и удаляем его расширение .ogg. После узнаем побайтовый размер файла.
Опять открываем 1.7.10.json. Сначала прописываем новые значения размера и хеша для sounds.json, после в конце файла регистрируем новые звуки.
Код:
    В конце всех стандартных файлов после } поставить ЗАПЯТУЮ.
    "minecraft/sounds/asd/saw/hellozepp.ogg": {
      "hash": "cc84438cfb07e9cdb69f40ce1213d950b4e16a6b",
      "size": 8116142
    },
    "minecraft/sounds/asd/saw/gameend.ogg": {
      "hash": "a347a0fb17e7f2307ac88eac07ff5d55f976812e",
      "size": 13191603
    },
    "minecraft/sounds/asd/met1.ogg": {
      "hash": "88f16ec04213aea95ed961fe1f11e29a607eb6a9",
      "size": 10190897
    },
    "minecraft/sounds/asd/met2.ogg": {
      "hash": "f4bcd851f24984cfbf92a7a0c38450d08b636753",
      "size": 10583245
    },
    "minecraft/sounds/asd/vav.ogg": {
      "hash": "bdb28235ee6d03a88b62bd82ab7d9e6e8195999f",
      "size": 17805697
    } - тут запятая не нужна.
Важно!!
Код:
minecraft/sounds/ Обязательно это должно присутствовать в пути.
После этого пишем то, что писали в sounds.json только добавив расширение .ogg
Код:
minecraft/sounds/asd/vav.ogg

Естественно указываем хеш и размер файла.
Ну в принципе и все.
Спасибо за внимание)
[merge_posts_bbcode]Добавлено: 28.08.2015 12:42:54[/merge_posts_bbcode]

***Резерв***
 
Agravaine написал(а):
Для картоделов пригодится)
Ну или кому нибудь на свой проект. Ну если лаунчер есть)
 
Сверху