
Nota
Активный0.0
Установок
Последнее обновление
Версии
Nota
Библиотека для Fabric, предоставляющая API для воспроизведения файлов формата .nbs в виде звуков нотных блоков. Данная реализация не является полной копией оригинального плагина и может содержать некоторые незавершённые функции.
Демонстрация
Разработка
Подключение к проекту
Для использования Nota в вашем проекте добавьте репозиторий Modrinth в файл сборки и зависимость мода. Замените VERSION_TAG
на актуальную версию, например 0.1.0+1.19
.
репозитории {
maven {
url "https://api.modrinth.com/maven"
content { includeGroup "maven.modrinth" }
}
}
зависимости {
modImplementation include("maven.modrinth:nota:VERSION_TAG")
}
Получение .nbs файлов
- Скачайте готовые .nbs файлы с музыкой
- Конвертируйте .midi в .nbs с помощью Note Block Studio
- Создайте собственную композицию в Note Block Studio и экспортируйте её в формате .nbs
Воспроизведение композиций
Перед использованием песни в формате .nbs необходимо её загрузить.
Песня песня = NBSДекодер.разобрать(new File("путь/к/песне.nbs"));
Песня песня2 = NBSДекодер.разобрать(new File("путь/к/другой/песне.nbs"));
Плейлист плейлист = new Плейлист(песня, песня2,...);
Типы проигрывателей
Доступно три типа проигрывателей композиций:
- RadioSongPlayer
- PositionSongPlayer
- EntitySongPlayer
RadioSongPlayer
Воспроизводит музыку для всех добавленных игроков независимо от их местоположения.
Песня песня; // Предварительно загруженная песня
RadioSongPlayer rsp = new RadioSongPlayer(песня); // Создание RadioSongPlayer
rsp.setId(new Identifier("пример:радио")); // Установка уникального идентификатора (необязательно)
rsp.addPlayer(игрок); // Добавление игрока для прослушивания
rsp.setPlaying(true); // Запуск воспроизведения
PositionSongPlayer
Воспроизводит музыку для игроков в определённом радиусе от заданной точки.
Песня песня; // Предварительно загруженная песня
PositionSongPlayer psp = new PositionSongPlayer(песня); // Создание PositionSongPlayer
psp.setId(new Identifier("пример:позиция")); // Установка уникального идентификатора (необязательно)
psp.setBlockPos(позиция); // Установка местоположения воспроизведения
psp.setDistance(16); // Установка радиуса слышимости (по умолчанию: 16)
psp.addPlayer(игрок); // Добавление игрока для прослушивания
psp.setPlaying(true); // Запуск воспроизведения
EntitySongPlayer
Воспроизводит музыку для игроков в определённом радиусе от указанной сущности.
Песня песня; // Предварительно загруженная песня
EntitySongPlayer esp = new EntitySongPlayer(песня); // Создание EntitySongPlayer
esp.setId(new Identifier("пример:сущность")); // Установка уникального идентификатора (необязательно)
esp.setEntity(сущность); // Установка сущности для отслеживания позиции
esp.setDistance(16); // Установка радиуса слышимости (по умолчанию: 16)
esp.addPlayer(игрок); // Добавление игрока для прослушивания
esp.setPlaying(true); // Запуск воспроизведения