- Поддерживаемые версии
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
- 1.18
- 1.19
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Velocity
- Минимальная версия Java
- 8
Особенности:
API:
- Звуковые файлы должны находится в папке Music/<название_плейлиста>/
- Список плейлистов и звуков через tab complete
- Плейлист добавляется в список плейлистов через tab complete после первой загрузки плейлиста
- Скрипт сборки ffmpeg с уменьшенном размером тут
- На некоторых хостингах запуск native binary ограничен так что конвертация может не работать. Если это так оставьте ветку конфига encoder заблокированной как в конфиге по умолчанию и используйте ogg файлы (в будущем возможно будет добавлен альтернативный способ конвертации)
- При использовании вместе с плагинами для обратной совместимости максимальный размер ресурспака не должен быть выше, чем максимальный размер ресурспака на минимальной версии, с которой можно зайти на сервер.
- При использовании вместе с прокси сервером может выдать ip сервера на котором находится. Так как файловый сервер находится локально.
- Для использования режима добавления в существующий ресурспак поместите ресурспак в директорию "Music" и переименуйте. Имя zip файла должно быть такое-же как название директории плейлиста.
- Поместить
amusic_bukkit-0.14.jar
в папку /plugins - Перезапустить сервер
- Заменить в файле config.yml параметр"host" на ip или домен сервера
- Открыть порт указанный в файле config.yml в параметре "port"
- Перезапустить сервер
- 1.7.10-1.15.2: 50 MiB (52428800 байт)
- 1.16-1.17.1: 100 MiB (104857600 байт)
- 1.18+: 250 MiB (262144000 байт)
- repeatone - повторять один звук
- repeatall - повторять все циклично
- playone - не повторять
- playall - до конца плейлиста
- random - случайный
Код:
server:
host: 127.0.0.1:25530 #External server ip or hostname
#ip: 127.0.0.1
port: 25530 #Resourcepack file server port
#backlog: 50 #Maximum length of the queue of incoming connections
strictdownloaderlist: true
#waitacception: true #ResourcePack Status accepted need to access server (if blocked using recomended value 'true', if 1.7.10 'false')
tokensalt: PlaceHereARandomBase64StringIfClientCacheEnabled
resource:
processpack: true #If false, resourcepack packing disabled
cache:
server: true #If true resourcepack cached on server
client: true #If true resourcepack cached on client (Max 10), resets if host, port, tokensalt, player uuid changed)
encoder:
use: false
ffmpegbinary: ffmpeg #Path to ffmpeg binary
bitrate: 64000
channels: 2
samplingrate: 44100
async: true
Java:
//Should be used only if AMusic used as plugin
AMusic api = AMusic.API(); //GET DEFAULT INSTANCE
//May be used to add amusic core into other plugin, or create multiple independent AMusic instances
AMusic api = new AMusic(ConfigOptions configoptions, SoundSource source, Data data, PackSender packsender, SoundStarter soundstarter, SoundStopper soundstopper, ConcurrentHashMap<Object,InetAddress> playerips);
api.enable(); //starts positiontracker and resourceserver threads
api.disable(); //stops positiontracker and resourceserver threads
//For all operating modes
api.getPlaylists(); //get list of already packed playlists(resourcepacks)
api.getPlaylistSoundnames(String playlistname); //get list of sounds in playlist "playlistname"
api.getPlaylistSoundnames(UUID playeruuid); //get list of sounds loaded to player with uuid "playeruuid"
api.getPlaylistSoundlengths(String playlistname); //get list of sounds length in playlist "playlistname"
api.getPlaylistSoundlengths(UUID playeruuid); //get list of sounds length loaded to player with uuid "playeruuid"
api.loadPack(UUID[] playeruuid, String playlistname, boolean update); //pack, convert(if enabled), send playlist(resourcepack) to player with uuid "playeruuid" (if playeruuid null not send)
api.getPackName(UUID playeruuid); //get loaded playlist(resourcepack) name, of player with uuid "playeruuid"
api.setRepeatMode(UUID playeruuid, RepeatType repeattype); //set repeat mode "repeattype" to player with uuid "playeruuid"
api.stopSound(UUID playeruuid); //stop sound to player with uuid "playeruuid"
api.playSound(UUID playeruuid, String name); //start sound "name" to player with uuid "playeruuid"
api.getPlayingSoundName(UUID playeruuid); //get currently playing sound of player with uuid "playeruuid"
api.getPlayingSoundSize(UUID playeruuid); //get currently playing sound size of player with uuid "playeruuid"
api.getPlayingSoundRemain(UUID playeruuid); //get currently playing sound remaining time of player with uuid "playeruuid"
Основан на MCusique
- Исходный код
- https://github.com/FatSaw/AMusic
- Команды и права
- Права:
- amusic.loadmusic - загрузка плейлиста
- amusic.playmusic - старт/стоп музыки
- amusic.repeat - настройка повтора
- amusic.loadmusic.other - загрузка плейлиста для других игроков
- amusic.playmusic.other - старт/стоп музыки для других игроков
- amusic.repeat.other - настройка повтора для других игроков
- amusic.loadmusic.update - обновление плейлиста
- /loadmusic <ник> <название плейлиста> [update] - загружает плейлист игроку
- /playmusic <ник> [название звука] - старт/стоп музыки (работает только после загрузки плейлиста)
- /playmusicuntrackable <ник> [название звука] - старт/стоп музыки без отслеживания позиции (работает только после загрузки плейлиста)
- /repeat <ник> <тип повтора> - установить тип повтора (сбрасывается при перезаходе на playone)
[] - не обязательный параметр