001 package org.bukkit.block;
002
003 import org.bukkit.Instrument;
004 import org.bukkit.Note;
005
006 /**
007 * Represents a note.
008 */
009 public interface NoteBlock extends BlockState {
010
011 /**
012 * Gets the note.
013 *
014 * @return The note.
015 */
016 public Note getNote();
017
018 /**
019 * Gets the note.
020 *
021 * @return The note ID.
022 * @deprecated Magic value
023 */
024 @Deprecated
025 public byte getRawNote();
026
027 /**
028 * Set the note.
029 *
030 * @param note The note.
031 */
032 public void setNote(Note note);
033
034 /**
035 * Set the note.
036 *
037 * @param note The note ID.
038 * @deprecated Magic value
039 */
040 @Deprecated
041 public void setRawNote(byte note);
042
043 /**
044 * Attempts to play the note at block
045 * <p>
046 * If the block is no longer a note block, this will return false
047 *
048 * @return true if successful, otherwise false
049 */
050 public boolean play();
051
052 /**
053 * Plays an arbitrary note with an arbitrary instrument
054 *
055 * @param instrument Instrument ID
056 * @param note Note ID
057 * @return true if successful, otherwise false
058 * @deprecated Magic value
059 */
060 @Deprecated
061 public boolean play(byte instrument, byte note);
062
063 /**
064 * Plays an arbitrary note with an arbitrary instrument
065 *
066 * @param instrument The instrument
067 * @param note The note
068 * @return true if successful, otherwise false
069 * @see Instrument Note
070 */
071 public boolean play(Instrument instrument, Note note);
072 }