001 package net.minecraft.stats; 002 003 import java.util.ArrayList; 004 import java.util.List; 005 import net.minecraft.block.Block; 006 import net.minecraft.item.Item; 007 008 public class AchievementList 009 { 010 /** Is the smallest column used to display a achievement on the GUI. */ 011 public static int minDisplayColumn; 012 013 /** Is the smallest row used to display a achievement on the GUI. */ 014 public static int minDisplayRow; 015 016 /** Is the biggest column used to display a achievement on the GUI. */ 017 public static int maxDisplayColumn; 018 019 /** Is the biggest row used to display a achievement on the GUI. */ 020 public static int maxDisplayRow; 021 022 /** Holds a list of all registered achievements. */ 023 public static List achievementList = new ArrayList(); 024 025 /** Is the 'open inventory' achievement. */ 026 public static Achievement openInventory = (new Achievement(0, "openInventory", 0, 0, Item.book, (Achievement)null)).setIndependent().registerAchievement(); 027 028 /** Is the 'getting wood' achievement. */ 029 public static Achievement mineWood = (new Achievement(1, "mineWood", 2, 1, Block.wood, openInventory)).registerAchievement(); 030 031 /** Is the 'benchmarking' achievement. */ 032 public static Achievement buildWorkBench = (new Achievement(2, "buildWorkBench", 4, -1, Block.workbench, mineWood)).registerAchievement(); 033 034 /** Is the 'time to mine' achievement. */ 035 public static Achievement buildPickaxe = (new Achievement(3, "buildPickaxe", 4, 2, Item.pickaxeWood, buildWorkBench)).registerAchievement(); 036 037 /** Is the 'hot topic' achievement. */ 038 public static Achievement buildFurnace = (new Achievement(4, "buildFurnace", 3, 4, Block.stoneOvenActive, buildPickaxe)).registerAchievement(); 039 040 /** Is the 'acquire hardware' achievement. */ 041 public static Achievement acquireIron = (new Achievement(5, "acquireIron", 1, 4, Item.ingotIron, buildFurnace)).registerAchievement(); 042 043 /** Is the 'time to farm' achievement. */ 044 public static Achievement buildHoe = (new Achievement(6, "buildHoe", 2, -3, Item.hoeWood, buildWorkBench)).registerAchievement(); 045 046 /** Is the 'bake bread' achievement. */ 047 public static Achievement makeBread = (new Achievement(7, "makeBread", -1, -3, Item.bread, buildHoe)).registerAchievement(); 048 049 /** Is the 'the lie' achievement. */ 050 public static Achievement bakeCake = (new Achievement(8, "bakeCake", 0, -5, Item.cake, buildHoe)).registerAchievement(); 051 052 /** Is the 'getting a upgrade' achievement. */ 053 public static Achievement buildBetterPickaxe = (new Achievement(9, "buildBetterPickaxe", 6, 2, Item.pickaxeStone, buildPickaxe)).registerAchievement(); 054 055 /** Is the 'delicious fish' achievement. */ 056 public static Achievement cookFish = (new Achievement(10, "cookFish", 2, 6, Item.fishCooked, buildFurnace)).registerAchievement(); 057 058 /** Is the 'on a rail' achievement */ 059 public static Achievement onARail = (new Achievement(11, "onARail", 2, 3, Block.rail, acquireIron)).setSpecial().registerAchievement(); 060 061 /** Is the 'time to strike' achievement. */ 062 public static Achievement buildSword = (new Achievement(12, "buildSword", 6, -1, Item.swordWood, buildWorkBench)).registerAchievement(); 063 064 /** Is the 'monster hunter' achievement. */ 065 public static Achievement killEnemy = (new Achievement(13, "killEnemy", 8, -1, Item.bone, buildSword)).registerAchievement(); 066 067 /** is the 'cow tipper' achievement. */ 068 public static Achievement killCow = (new Achievement(14, "killCow", 7, -3, Item.leather, buildSword)).registerAchievement(); 069 070 /** Is the 'when pig fly' achievement. */ 071 public static Achievement flyPig = (new Achievement(15, "flyPig", 8, -4, Item.saddle, killCow)).setSpecial().registerAchievement(); 072 073 /** The achievement for killing a Skeleton from 50 meters aways. */ 074 public static Achievement snipeSkeleton = (new Achievement(16, "snipeSkeleton", 7, 0, Item.bow, killEnemy)).setSpecial().registerAchievement(); 075 076 /** Is the 'DIAMONDS!' achievement */ 077 public static Achievement diamonds = (new Achievement(17, "diamonds", -1, 5, Item.diamond, acquireIron)).registerAchievement(); 078 079 /** Is the 'We Need to Go Deeper' achievement */ 080 public static Achievement portal = (new Achievement(18, "portal", -1, 7, Block.obsidian, diamonds)).registerAchievement(); 081 082 /** Is the 'Return to Sender' achievement */ 083 public static Achievement ghast = (new Achievement(19, "ghast", -4, 8, Item.ghastTear, portal)).setSpecial().registerAchievement(); 084 085 /** Is the 'Into Fire' achievement */ 086 public static Achievement blazeRod = (new Achievement(20, "blazeRod", 0, 9, Item.blazeRod, portal)).registerAchievement(); 087 088 /** Is the 'Local Brewery' achievement */ 089 public static Achievement potion = (new Achievement(21, "potion", 2, 8, Item.potion, blazeRod)).registerAchievement(); 090 091 /** Is the 'The End?' achievement */ 092 public static Achievement theEnd = (new Achievement(22, "theEnd", 3, 10, Item.eyeOfEnder, blazeRod)).setSpecial().registerAchievement(); 093 094 /** Is the 'The End.' achievement */ 095 public static Achievement theEnd2 = (new Achievement(23, "theEnd2", 4, 13, Block.dragonEgg, theEnd)).setSpecial().registerAchievement(); 096 097 /** Is the 'Enchanter' achievement */ 098 public static Achievement enchantments = (new Achievement(24, "enchantments", -4, 4, Block.enchantmentTable, diamonds)).registerAchievement(); 099 public static Achievement overkill = (new Achievement(25, "overkill", -4, 1, Item.swordDiamond, enchantments)).setSpecial().registerAchievement(); 100 101 /** Is the 'Librarian' achievement */ 102 public static Achievement bookcase = (new Achievement(26, "bookcase", -3, 6, Block.bookShelf, enchantments)).registerAchievement(); 103 104 /** 105 * A stub functions called to make the static initializer for this class run. 106 */ 107 public static void init() {} 108 109 static 110 { 111 System.out.println(achievementList.size() + " achievements"); 112 } 113 }