package com.github.jamesnorris.ablockalypse.enumerated; import java.util.Map; import org.bukkit.Location; import org.bukkit.Sound; import com.google.common.collect.Maps; public enum ZASound { ACHIEVEMENT(1, new Sound[] {Sound.LEVEL_UP}, 1), AREA_BUY(11, new Sound[] {Sound.DOOR_OPEN}, 3), AREA_REPLACE(12, new Sound[] {Sound.DOOR_CLOSE}, 3), BARRIER_BREAK(9, new Sound[] {Sound.ZOMBIE_WOODBREAK}, 2), BARRIER_REPAIR(10, new Sound[] {Sound.PISTON_EXTEND, Sound.ITEM_BREAK}, 1), DEATH(2, new Sound[] {Sound.GHAST_DEATH}, 1), END(3, new Sound[] {Sound.AMBIENCE_CAVE}, 7), EXPLOSION(13, new Sound[] {Sound.EXPLODE}, 5), LAST_STAND(4, new Sound[] {Sound.GHAST_SCREAM}, 3), NEXT_LEVEL(5, new Sound[] {Sound.AMBIENCE_THUNDER}, 7), PREV_LEVEL(6, new Sound[] {Sound.AMBIENCE_RAIN}, 7), START(7, new Sound[] {Sound.AMBIENCE_CAVE}, 7), TELEPORT(8, new Sound[] {Sound.PORTAL_TRIGGER}, 1); private final static Map<Integer, ZASound> BY_ID = Maps.newHashMap(); static { for (ZASound setting : values()) { BY_ID.put(setting.id, setting); } } public static ZASound getById(final int id) { return BY_ID.get(id); } private int id, type; private Sound[] sounds; ZASound(int id, Sound[] sounds, int type) { this.id = id; this.sounds = sounds; } public int getId() { return id; } public void play(Location loc) { if ((Boolean) Setting.EXTRA_SOUNDS.getSetting()) { for (Sound sound : sounds) { loc.getWorld().playSound(loc, sound, type, 1); } } } }