001 package org.bukkit.event.block; 002 003 import org.bukkit.Instrument; 004 import org.bukkit.Note; 005 import org.bukkit.block.Block; 006 import org.bukkit.event.Cancellable; 007 import org.bukkit.event.HandlerList; 008 009 /** 010 * Called when a note block is being played through player interaction or a 011 * redstone current. 012 */ 013 public class NotePlayEvent extends BlockEvent implements Cancellable { 014 015 private static HandlerList handlers = new HandlerList(); 016 private Instrument instrument; 017 private Note note; 018 private boolean cancelled = false; 019 020 public NotePlayEvent(Block block, Instrument instrument, Note note) { 021 super(block); 022 this.instrument = instrument; 023 this.note = note; 024 } 025 026 public boolean isCancelled() { 027 return cancelled; 028 } 029 030 public void setCancelled(boolean cancel) { 031 this.cancelled = cancel; 032 } 033 034 /** 035 * Gets the {@link Instrument} to be used. 036 * 037 * @return the Instrument; 038 */ 039 public Instrument getInstrument() { 040 return instrument; 041 } 042 043 /** 044 * Gets the {@link Note} to be played. 045 * 046 * @return the Note. 047 */ 048 public Note getNote() { 049 return note; 050 } 051 052 /** 053 * Overrides the {@link Instrument} to be used. 054 * 055 * @param instrument the Instrument. Has no effect if null. 056 */ 057 public void setInstrument(Instrument instrument) { 058 if (instrument != null) { 059 this.instrument = instrument; 060 } 061 062 } 063 064 /** 065 * Overrides the {@link Note} to be played. 066 * 067 * @param note the Note. Has no effect if null. 068 */ 069 public void setNote(Note note) { 070 if (note != null) { 071 this.note = note; 072 } 073 } 074 075 @Override 076 public HandlerList getHandlers() { 077 return handlers; 078 } 079 080 public static HandlerList getHandlerList() { 081 return handlers; 082 } 083 }