Перейти к содержимому

SongPlayer

Fabric-мод для Minecraft, который проигрывает песни с помощью нотных блоков. Поддерживает формат midi.

Fabric
Загрузчики
Fabric
Скачиваний на Modrinth
11,2 тыс.
Подписчиков на Modrinth
30
версий
13
Обновлён
1 января 20261 янв.
Опубликован
в 2023

Коротко о моде

Работает на Fabric
Для Minecraft 1.20–1.21.5, 1.21.7–1.21.10
Ставится только в игру; на сервер ставить не нужно
Последняя версия — 3.3.5 от 1 января 2026
Нужен Fabric API
Лицензия MIT — бесплатно
Где нужен
В игреобязателенНа серверене нужен

Ставится только в игру; на сервер ставить не нужно

Версии игры1.20–1.21.5, 1.21.7–1.21.10
Описание переведено автоматическиПоказать оригинал (EN)

SongPlayer

Fabric-мод для Minecraft, который играет песни с помощью нотных блоков.

Если у вас есть вопросы, хотите поделиться песнями или просто поговорить о моде, заходите на сервер Discord.

Как установить

Скачать jar-файл мода можно в разделе релизов. Для работы мода требуется Fabric API.

Добавление песен

Вы можете положить midi-файлы или файлы NoteBlockStudio в папку .minecraft/songs. SongPlayer поддерживает любые корректные midi и все версии файлов NBS.

Использование клиента

Для начала добавьте несколько midi- или nbs-файлов в папку songs и используйте $play <имя файла> на открытой местности. Пробелы в именах файлов и путях не поддерживаются. Если вы указали корректный midi- или nbs-файл, мод попытается переключить ваш игровой режим на креатив, расставит нужные нотные блоки для песни, попытается вернуть вас в выживание, а затем начнёт воспроизведение.

Также вы можете разложить песни по подпапкам внутри папки songs. Автодополнение по Tab упростит навигацию. Символические ссылки на папки тоже поддерживаются.

Команды

Все команды нечувствительны к регистру.

$help

$help <команда>

Если аргументы не указаны, выводит список всех команд SongPlayer. Иначе объясняет указанную команду и показывает её синтаксис.

$setPrefix <префикс>

синонимы: $prefix

Задаёт префикс, используемый для всех команд SongPlayer (по умолчанию: $)

$play <имя файла или url>

Играет определённый midi из папки .minecraft/songs или, если указан url, скачивает песню по этому url и пытается её воспроизвести.

Если песня уже играет, новая песня будет добавлена в очередь.

$stop

Останавливает воспроизведение/постройку и очищает очередь.

$skip

Пропускает текущую песню и переходит к следующей.

$goto <мм:сс>

Переходит к определённому моменту в песне.

$loop

Включает или выключает зацикливание песни.

$status

синонимы: $current

Показывает статус текущей играющей песни.

$сqueue

синонимы: $showqueue

Показывает все песни в очереди.

$songs

$songs <подпапка>

синонимы: $list

Если аргументы не указаны, выводит список песен в папке songs. Иначе выводит список песен в указанной подпапке.

$playlist play <плейлист>

$playlist create <плейлист>

$playlist list [<плейлист>]

$playlist delete <плейлист> <песня>

$playlist addSong <плейлист> <песня>

$playlist removeSong <плейлист> <песня>

$playlist renameSong <плейлист> <старое имя> <новое имя>

$playlist loop

$playlist shuffle

Создавайте, редактируйте, удаляйте или воспроизводите плейлисты. Также можно включать или выключать зацикливание и перемешивание.

$setCreativeCommand <команда>

синонимы: $sc

По умолчанию клиент использует /gamemode creative для перехода в креативный режим. Однако /gamemode creative работает не на всех серверах. Если команда для креатива отличается, задайте её с помощью этой команды. Например, если сервер использует ванильные команды, введите $setCreativeCommand /gamemode creative.

$setSurvivalCommand <команда>

синонимы: $ss

По умолчанию клиент использует /gamemode survival для перехода в режим выживания. Однако /gamemode survival работает не на всех серверах. Если команда для выживания отличается, задайте её с помощью этой команды. Например, если сервер использует ванильные команды, введите $setSurvivalCommand /gamemode survival.

$useEssentialsCommands

синонимы: $essentials, $useEssentials, $essentialsCommands

Переключает на использование команд игрового режима из Essentials.

Эквивалентно $setCreativeCommand /gmc и $setSurvivalCommand /gms

$useVanillaCommands

синонимы: $vanilla, $useVanilla, $vanillaCommands

Переключает на использование ванильных команд игрового режима.

Эквивалентно $setCreativeCommand /gamemode creative и $setSurvivalCommand /gamemode survival

$toggleFakePlayer

алиасы: $fakePlayer, $fp

Включает или выключает отображение фейкового игрока, показывающего твою настоящую позицию во время проигрывания песни. Во время проигрывания песни автоматически включается freecam, поэтому твоя настоящая позиция отличается от видимой. Фейковый игрок будет показывать, где ты находишься на самом деле. По умолчанию отключено.

$setStageType \

алиасы: $setStage, $stageType

Задаёт тип строящейся сцены из нотных блоков. Спасибо Sk8kman и Lizard16 за дизайн сферической сцены!

  • Default: квадратная сцена максимум на 300 нотных блоков
  • Wide: цилиндрическая сцена максимум на 360 нотных блоков
  • Spherical: плотно упакованная сферическая сцена, вмещающая все 400 возможных нотных блоков

$breakSpeed set \

$breakSpeed reset

Задаёт скорость разрушения блоков в блоках/сек.

$placeSpeed set \

$placeSpeed reset

Задаёт скорость установки блоков в блоках/сек.

$toggleMovement \

алиасы: $movement

Включает или выключает взмах рукой при ударе по нотному блоку и поворот взгляда на нотные блоки, по которым ты бьёшь.

$setVelocityThreshold

алиасы: $velocityThreshold $threshold

Задаёт минимальную скорость, ниже которой ноты не проигрываются (работает для midi и nbs). Это должно быть число от 0 до 100. Для предметов-песен порог задаётся при создании предмета.

$toggleAutoCleanup

алиасы: $autoCleanup

Включает или выключает автоматическую уборку сцены и восстановление исходных блоков после проигрывания.

$cleanupLastStage

Убирает последнюю созданную тобой сцену и по возможности восстанавливает блоки в исходное состояние.

Если ты остановишь проигрывание и начнёшь заново, записанные изменения сбросятся.

Не заменяет жидкости и двойные блоки вроде дверей, а также не восстанавливает данные tile entity. Также может некорректно обрабатывать блоки, опирающиеся на другие блоки, например факелы.

$announcement \

$announcement setMessage

Задаёт сообщение-объявление, которое отправляется при начале проигрывания песни. В setMessage пиши [name] там, где должно быть название песни.

Пример: $announcement setMessage &6Now playing: &3[name]

$toggleSurvivalOnly

алиасы: $survivalOnly

Включает или выключает режим только для выживания, в котором автоматическая установка нотных блоков отключена, а автоматическая настройка выполняется правым кликом.

В этом режиме ты должен сам ставить нужные инструменты.

Если ты попробуешь проиграть песню, а условия не выполнены, тебе скажут, сколько инструментов каждого типа нужно.

$toggleFlightNoclip

алиасы: $flightNoclip

Включает или выключает noclip в полёте. Когда включено, твой локальный игрок может проходить сквозь блоки во время проигрывания песни, но только в полёте.

$songItem create \

$songItem setSongName \

алиасы: $item

Кодирует данные песни в предмет. Когда ты кликнешь правой кнопкой по такому предмету, SongPlayer автоматически определит, что это предмет-песня, и спросит, хочешь ли ты её проиграть. Эти предметы, будучи созданными, может использовать любой, у кого стоит нужная версия SongPlayer.

Он автоматически сгенерирует кастомные названия предметов и описание, но их можно изменить или удалить без влияния на данные песни, так что редактируй предметы как хочешь. SongPlayer смотрит только на тег SongItemData.

$testSong

Команда, которую я использовал для тестирования во время разработки. Она проигрывает все 400 возможных звуков нотных блоков по порядку.

Механизм

SongPlayer ставит нотные блоки с уже вписанными nbt и данными инструмента, так что нотные блоки не нужно настраивать по отдельности.

Клиент автоматически определяет, какие нотные блоки нужны, и расставляет их перед воспроизведением каждой песни, что делает проигрывание песен довольно простым. Единственный минус — нужно уметь переключаться между креативным и выживательным режимом, что мой клиент попытается сделать автоматически.

Во время проигрывания песни включается свободная камера. Вы сможете свободно перемещаться, но на самом деле двигается только камера, а игрок остаётся в центре нотных блоков. Это связано с тем, что нотные блоки можно проигрывать только в пределах досягаемости, поэтому нужно стоять в центре нотных блоков, но всё равно приятно иметь возможность двигаться, пока играет песня.

Благодарности

Ayunami2000: Придумал концепцию прямой установки нотных блоков с NBT-данными вместо ручной настройки.

Sk8kman: Несколько изменений Songplayer 3.0 были вдохновлены их форком SongPlayer. Самым заметным были их альтернативные дизайны сцены, но это также побудило меня реализовать плейлисты и переключаемые движения.

Lizard16: Упомянут Sk8kman как человек, создавший сферический дизайн сцены.

Частые вопросы

Как установить SongPlayer?

Установите Fabric под свою версию Minecraft, скачайте SongPlayer под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть SongPlayer?

У SongPlayer есть сборки для Minecraft 1.20–1.21.5, 1.21.7–1.21.10.

Нужен ли SongPlayer на сервере?

Ставится только в игру; на сервер ставить не нужно

Лицензия и источник
MIT Licenseможно свободно использовать и распространять с указанием автора
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее