package com.sk89q.jinglenote.bukkit;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import com.sk89q.jinglenote.Instrument;
import com.sk89q.jinglenote.JingleNotePlayer;
import com.sk89q.jinglenote.JingleSequencer;
import com.sk89q.jinglenote.JingleSequencer.Note;
public class BukkitJingleNotePlayer extends JingleNotePlayer {
public BukkitJingleNotePlayer (String player, JingleSequencer seq) {
super(player, seq);
}
Player p = null;
@Override
public void play (Note note) {
if (p == null || !p.isOnline())
p = Bukkit.getPlayerExact(player);
if (p == null || !p.isOnline() || note == null)
return;
p.playSound(p.getLocation(), toSound(note.getInstrument()), note.getVelocity(), note.getNote());
}
public Sound toSound(Instrument instrument) {
switch(instrument) {
case PIANO:
return Sound.BLOCK_NOTE_HARP;
case GUITAR:
return Sound.BLOCK_NOTE_PLING;
case BASS:
return Sound.BLOCK_NOTE_BASS;
case BASS_GUITAR:
return Sound.BLOCK_NOTE_BASS;
case STICKS:
return Sound.BLOCK_NOTE_HAT;
case BASS_DRUM:
return Sound.BLOCK_NOTE_BASEDRUM;
case SNARE_DRUM:
return Sound.BLOCK_NOTE_SNARE;
default:
return Sound.BLOCK_NOTE_HARP;
}
}
}