package net.glowstone.constants; import org.bukkit.Achievement; import static com.google.common.base.Preconditions.checkNotNull; import static org.bukkit.Achievement.*; /** * Name mappings for Bukkit Achievements. */ public final class GlowAchievement { private static final String[] names = new String[values().length]; private static final String[] fancyNames = new String[values().length]; static { set(OPEN_INVENTORY, "openInventory", "Taking Inventory"); set(MINE_WOOD, "mineWood", "Getting Wood"); set(BUILD_WORKBENCH, "buildWorkBench", "Benchmarking"); set(BUILD_PICKAXE, "buildPickaxe", "Time to Mine!"); set(BUILD_FURNACE, "buildFurnace", "Hot Topic"); set(ACQUIRE_IRON, "acquireIron", "Acquire Hardware"); set(BUILD_HOE, "buildHoe", "Time to Farm!"); set(MAKE_BREAD, "makeBread", "Bake Bread"); set(BAKE_CAKE, "bakeCake", "The Lie"); set(BUILD_BETTER_PICKAXE, "buildBetterPickaxe", "Getting an Upgrade"); set(COOK_FISH, "cookFish", "Delicious Fish"); set(ON_A_RAIL, "onARail", "On a Rail"); set(BUILD_SWORD, "buildSword", "Time to Strike!"); set(KILL_ENEMY, "killEnemy", "Monster Hunter"); set(KILL_COW, "killCow", "Cow Tipper"); set(FLY_PIG, "flyPig", "When Pigs Fly"); set(SNIPE_SKELETON, "snipeSkeleton", "Sniper Duel"); set(GET_DIAMONDS, "diamonds", "DIAMONDS!"); set(NETHER_PORTAL, "portal", "We Need to Go Deeper"); set(GHAST_RETURN, "ghast", "Return to Sender"); set(GET_BLAZE_ROD, "blazeRod", "Into Fire"); set(BREW_POTION, "potion", "Local Brewery"); set(END_PORTAL, "theEnd", "The End?"); set(THE_END, "theEnd2", "The End."); set(ENCHANTMENTS, "enchantments", "Enchanter"); set(OVERKILL, "overkill", "Overkill"); set(BOOKCASE, "bookcase", "Librarian"); set(EXPLORE_ALL_BIOMES, "exploreAllBiomes", "Adventuring Time"); set(SPAWN_WITHER, "spawnWither", "The Beginning?"); set(KILL_WITHER, "killWither", "The Beginning."); set(FULL_BEACON, "fullBeacon", "Beaconator"); set(BREED_COW, "breedCow", "Repopulation"); set(DIAMONDS_TO_YOU, "diamondsToYou", "Diamonds to you!"); set(OVERPOWERED, "overpowered", "Overpowered"); } private GlowAchievement() { } /** * Get the achievement name for a specified Achievement. * * @param achievement the Achievement. * @return the achievement name. */ public static String getName(Achievement achievement) { checkNotNull(achievement, "Achievement cannot be null"); return names[achievement.ordinal()]; } public static String getFancyName(Achievement achievement) { checkNotNull(achievement, "Achievement cannot be null"); return fancyNames[achievement.ordinal()]; } private static void set(Achievement achievement, String key, String fancyName) { names[achievement.ordinal()] = "achievement." + key; fancyNames[achievement.ordinal()] = fancyName; } }