001 package org.bukkit; 002 003 import java.util.Map; 004 005 import com.google.common.collect.Maps; 006 007 public enum Instrument { 008 009 /** 010 * Piano is the standard instrument for a note block. 011 */ 012 PIANO(0x0), 013 /** 014 * Bass drum is normally played when a note block is on top of a 015 * stone-like block 016 */ 017 BASS_DRUM(0x1), 018 /** 019 * Snare drum is normally played when a note block is on top of a sandy 020 * block. 021 */ 022 SNARE_DRUM(0x2), 023 /** 024 * Sticks are normally played when a note block is on top of a glass 025 * block. 026 */ 027 STICKS(0x3), 028 /** 029 * Bass guitar is normally played when a note block is on top of a wooden 030 * block. 031 */ 032 BASS_GUITAR(0x4); 033 034 private final byte type; 035 private final static Map<Byte, Instrument> BY_DATA = Maps.newHashMap(); 036 037 private Instrument(final int type) { 038 this.type = (byte) type; 039 } 040 041 /** 042 * @return The type ID of this instrument. 043 * @deprecated Magic value 044 */ 045 @Deprecated 046 public byte getType() { 047 return this.type; 048 } 049 050 /** 051 * Get an instrument by its type ID. 052 * 053 * @param type The type ID 054 * @return The instrument 055 * @deprecated Magic value 056 */ 057 @Deprecated 058 public static Instrument getByType(final byte type) { 059 return BY_DATA.get(type); 060 } 061 062 static { 063 for (Instrument instrument : Instrument.values()) { 064 BY_DATA.put(instrument.getType(), instrument); 065 } 066 } 067 }