2016-04-29 3 views
1

Я кодирования плагин Minecraft, (просто модификация к игре Minecraft, но используется на сервере Minecraft, а не модификация клиента)Как играть звук песни SoundCloud через вход URL

и я хочу создать что-то, что, когда игрок входы

«/ playsong»

вместе с URL SoundCloud, он обнаружит, что URL и цикл его.

(возможность играть в SoundCloud плейлист будет оценено)

Все остальные работы будет сделано мной. (проверка, является ли URL-адрес нулевым, тестирование, если игрок отправляет/воспроизводит вместе с действительным URL-адресом и т. д.)

Добавление комментариев с сообщением мне, что некоторые биты кода будут очень оценены.

Благодарим вас за чтение.

~ Matthew274

ответ

0

Это вообще невозможно. Minecraft не имеет возможности воспроизвести произвольную песню, требующую загрузки с удаленного сервера. Есть несколько способов, которыми вы все еще можете это сделать, но это не просто.

Одним из способов было бы взять песню и попытаться преобразовать ее в ряд заметок для использования с /playsound (или блокнотами). Это непросто и не даст идеального результата, но это is гипотетически выполнимо (хотя я не знаю ни одной детали).

Другой метод - создать пакет ресурсов, отправить его клиенту, а затем заставить их воспроизводить песню. Это также нетривиально, но все же выполнимо. Общая процедура будет следующей:

  • Найти и скачать песню из soundcloud (для этого я не знаю API Soundcloud, но я предполагаю, что у них есть).
  • При необходимости конвертируйте песню в файл .ogg с .mp3. Вероятно, для этого есть библиотека.
  • Создайте пакет ресурсов с этим звуком (и соответствующим звуковым индексом) и временно сделайте его для загрузки на ваш сервер.
  • Отправить Resource Pack Send пакет, связанный с этим пакетом ресурсов.
  • Ждите, пока клиент ответит Resource Pack Status из "принято".
  • Воспроизведение композиции с использованием пакета Named Sound Effect (или /playsound).

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

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

+0

Здравствуйте. Спасибо, что ответили мне.Это отстой, я не могу делать то, что планирую делать. – Matthew274

+0

То, что я придумал, заключается в том, что плеер может загружать песни в свой пакет ресурсов в новой папке под названием «песни». Тогда, возможно, в игре они могут делать «/ playingong радиоактивны», и он будет искать файл в " песни «называются« радиоактивными ». Если он найдет один, он начнет воспроизводить песню на проигрывателе. Если файл «радиоактивный» не найден, он отправит игроку сообщение с сообщением: «Файл« радиоактивный »не найден». Надеюсь, это сработает! – Matthew274

+0

@ Matthew274 Да, это должно сработать. Возможно, вам понадобится также создать [настраиваемый индекс звука] (http://minecraft.gamepedia.com/Sounds.json) в пакете ресурсов. – Pokechu22

Смежные вопросы