Skip to content

Using events

koca2000 edited this page Jun 12, 2019 · 5 revisions

NoteBlockAPI provides several event you can handle.

SongEndEvent

Fired when SongPlayer goes to end of song.

@EventHandler
public void onSongEnd(SongEndEvent e){
    SongPlayer sp = e.getSongPlayer(); //Gives you SongPlayer
    Song s = sp.getSong();             //Gives you player Song
}

SongStoppedEvent

Fired when SongPlayer setPlaying(false) is executed.

@EventHandler
public void onSongStopped(SongStoppedEvent e){
    SongPlayer sp = e.getSongPlayer(); //Gives you SongPlayer
    Song s = sp.getSong();             //Gives you player Song
}

SongDestroyingEvent

Fired when SongPlayer destroy() is executed or after SongEndEvent when autodestroy is set to true.

@EventHandler
public void onSongDestroying(SongDestroyingEvent e){
    SongPlayer sp = e.getSongPlayer();   //Gives you SongPlayer
    Song s = sp.getSong();               //Gives you player Song
    boolean cancelled = e.isCancelled(); //Check if is event cancelled
    sp.setCancelled(true)                //Cancel event
}

PlayerRangeStateChangeEvent

Fired when Player enter/leaves area in which PositionSongPlayer or NoteBlockSongPlayer is hearable.

@EventHandler
public void onPlayerRangeStateChange(PlayerRangeStateChangeEvent e){
    SongPlayer sp = e.getSongPlayer();   //Gives you SongPlayer
    Song s = sp.getSong();               //Gives you player Song
    Player p = e.getPlayer();            //Gives you Player
    boolean isInRange = e.isInRange();   //Returns true if player enter SongPlayer area, false if player leaves SongPlayer area
}

SongLoopEvent (since 1.2.1)

Fired when SongPlayer finish playing Song and is starting the Song again.

@EventHandler
public void onSongLoopEvent(SongLoopEvent e){
    SongPlayer sp = e.getSongPlayer();   //Gives you SongPlayer
    Song s = sp.getSong();               //Gives you player Song
    boolean cancelled = e.isCancelled(); //Check if is event cancelled
    sp.setCancelled(true)                //Cancel event
}

SongNextEvent (since 1.2.2)

Fired when next Song from Playlist starts.

@EventHandler
public void onSongNext(SongNextEvent e){
    SongPlayer sp = e.getSongPlayer(); //Gives you SongPlayer
    Song s = sp.getSong();             //Gives you player Song
}