- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 11,2 тыс.
- Подписчиков на Modrinth
- 30
- версий
- 13
- Обновлён
- 1 января 20261 янв.
- Опубликован
- в 2023
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
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 на сервере?
Ставится только в игру; на сервер ставить не нужно