Как использовать noteblockapi bukkit?

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

Я изучил некоторые вещи, такие как noteblockapi, и мне было интересно, может ли кто-нибудь помочь мне в том, как я могу заставить его воспроизводить этот пользовательский .nbs

    @EventHandler
public void onPlayerJoin()
{

    //Player.playSound(file.nbs)

}

person coolio85    schedule 23.01.2018    source источник


Ответы (2)


Использование NoteblockAPI для воспроизведения песен

Song s = NBSDecoder.parse(new File(getDataFolder(), "Song.nbs"));
SongPlayer sp = new RadioSongPlayer(s);
sp.setAutoDestroy(true);
sp.addPlayer(e.getPlayer());
sp.setPlaying(true);
person Jari R    schedule 27.01.2018

Итак, согласно справочнику по API, вы хотите Этот способ:

play​(Instrument instrument, Note note)

Где Instrument и Note - оба перечисления в пакете org.bukkit.

Итак, вам нужно создать BlockState для Noteblock, преобразовать его в интерфейс NoteBlock и вызвать для него .play. Наверное, примерно так:

((NoteBlock)Material.NOTE_BLOCK).play(Instrument.BELL, Note.Tone.A);

При необходимости замените инструмент и тон.

person Draco18s no longer trusts SE    schedule 24.01.2018
comment
Привет, если у меня уже есть звуковой файл .nbs, могу ли я добавить его вместо того, чтобы играть каждую ноту отдельно? - person coolio85; 24.01.2018
comment
@ coolio85 Понятия не имею. Я никогда не использовал Bukkit, но знаю, как читать документацию. - person Draco18s no longer trusts SE; 24.01.2018
comment
Привет, @ Draco18snolongertrustsSE, ОП говорил о другом API. - person LeopardL GD; 26.06.2021