Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
at develop 181 lines 7.8 kB view raw
1package net.minecraft.server; 2 3import java.util.*; 4 5public class StatisticList { 6 7 protected static Map a = new HashMap(); 8 public static List b = new ArrayList(); 9 public static List c = new ArrayList(); 10 public static List d = new ArrayList(); 11 public static List e = new ArrayList(); 12 public static Statistic f = (new CounterStatistic(1000, StatisticCollector.a("stat.startGame"))).e().d(); 13 public static Statistic g = (new CounterStatistic(1001, StatisticCollector.a("stat.createWorld"))).e().d(); 14 public static Statistic h = (new CounterStatistic(1002, StatisticCollector.a("stat.loadWorld"))).e().d(); 15 public static Statistic i = (new CounterStatistic(1003, StatisticCollector.a("stat.joinMultiplayer"))).e().d(); 16 public static Statistic j = (new CounterStatistic(1004, StatisticCollector.a("stat.leaveGame"))).e().d(); 17 public static Statistic k = (new CounterStatistic(1100, StatisticCollector.a("stat.playOneMinute"), Statistic.j)).e().d(); 18 public static Statistic l = (new CounterStatistic(2000, StatisticCollector.a("stat.walkOneCm"), Statistic.k)).e().d(); 19 public static Statistic m = (new CounterStatistic(2001, StatisticCollector.a("stat.swimOneCm"), Statistic.k)).e().d(); 20 public static Statistic n = (new CounterStatistic(2002, StatisticCollector.a("stat.fallOneCm"), Statistic.k)).e().d(); 21 public static Statistic o = (new CounterStatistic(2003, StatisticCollector.a("stat.climbOneCm"), Statistic.k)).e().d(); 22 public static Statistic p = (new CounterStatistic(2004, StatisticCollector.a("stat.flyOneCm"), Statistic.k)).e().d(); 23 public static Statistic q = (new CounterStatistic(2005, StatisticCollector.a("stat.diveOneCm"), Statistic.k)).e().d(); 24 public static Statistic r = (new CounterStatistic(2006, StatisticCollector.a("stat.minecartOneCm"), Statistic.k)).e().d(); 25 public static Statistic s = (new CounterStatistic(2007, StatisticCollector.a("stat.boatOneCm"), Statistic.k)).e().d(); 26 public static Statistic t = (new CounterStatistic(2008, StatisticCollector.a("stat.pigOneCm"), Statistic.k)).e().d(); 27 public static Statistic u = (new CounterStatistic(2010, StatisticCollector.a("stat.jump"))).e().d(); 28 public static Statistic v = (new CounterStatistic(2011, StatisticCollector.a("stat.drop"))).e().d(); 29 public static Statistic w = (new CounterStatistic(2020, StatisticCollector.a("stat.damageDealt"))).d(); 30 public static Statistic x = (new CounterStatistic(2021, StatisticCollector.a("stat.damageTaken"))).d(); 31 public static Statistic y = (new CounterStatistic(2022, StatisticCollector.a("stat.deaths"))).d(); 32 public static Statistic z = (new CounterStatistic(2023, StatisticCollector.a("stat.mobKills"))).d(); 33 public static Statistic A = (new CounterStatistic(2024, StatisticCollector.a("stat.playerKills"))).d(); 34 public static Statistic B = (new CounterStatistic(2025, StatisticCollector.a("stat.fishCaught"))).d(); 35 public static Statistic[] C = a("stat.mineBlock", 16777216); 36 public static Statistic[] D; 37 public static Statistic[] E; 38 public static Statistic[] F; 39 private static boolean G; 40 private static boolean H; 41 42 public StatisticList() { 43 } 44 45 public static void a() { 46 } 47 48 public static void b() { 49 E = a(E, "stat.useItem", 16908288, 0, Block.byId.length); 50 F = b(F, "stat.breakItem", 16973824, 0, Block.byId.length); 51 G = true; 52 d(); 53 } 54 55 public static void c() { 56 E = a(E, "stat.useItem", 16908288, Block.byId.length, 32000); 57 F = b(F, "stat.breakItem", 16973824, Block.byId.length, 32000); 58 H = true; 59 d(); 60 } 61 62 public static void d() { 63 if (G && H) { 64 HashSet hashset = new HashSet(); 65 Iterator iterator = CraftingManager.getInstance().b().iterator(); 66 67 while (iterator.hasNext()) { 68 CraftingRecipe craftingrecipe = (CraftingRecipe) iterator.next(); 69 70 hashset.add(Integer.valueOf(craftingrecipe.b().id)); 71 } 72 73 iterator = FurnaceRecipes.getInstance().b().values().iterator(); 74 75 while (iterator.hasNext()) { 76 ItemStack itemstack = (ItemStack) iterator.next(); 77 78 hashset.add(Integer.valueOf(itemstack.id)); 79 } 80 81 D = new Statistic[32000]; 82 iterator = hashset.iterator(); 83 84 while (iterator.hasNext()) { 85 Integer integer = (Integer) iterator.next(); 86 87 if (Item.byId[integer.intValue()] != null) { 88 String s = StatisticCollector.a("stat.craftItem", new Object[] { Item.byId[integer.intValue()].j() }); 89 90 D[integer.intValue()] = (new CraftingStatistic(16842752 + integer.intValue(), s, integer.intValue())).d(); 91 } 92 } 93 94 a(D); 95 } 96 } 97 98 private static Statistic[] a(String s, int i) { 99 Statistic[] astatistic = new Statistic[256]; 100 101 for (int j = 0; j < 256; ++j) { 102 if (Block.byId[j] != null && Block.byId[j].m()) { 103 String s1 = StatisticCollector.a(s, new Object[] { Block.byId[j].k() }); 104 105 astatistic[j] = (new CraftingStatistic(i + j, s1, j)).d(); 106 e.add((CraftingStatistic) astatistic[j]); 107 } 108 } 109 110 a(astatistic); 111 return astatistic; 112 } 113 114 private static Statistic[] a(Statistic[] astatistic, String s, int i, int j, int k) { 115 if (astatistic == null) { 116 astatistic = new Statistic[32000]; 117 } 118 119 for (int l = j; l < k; ++l) { 120 if (Item.byId[l] != null) { 121 String s1 = StatisticCollector.a(s, new Object[] { Item.byId[l].j() }); 122 123 astatistic[l] = (new CraftingStatistic(i + l, s1, l)).d(); 124 if (l >= Block.byId.length) { 125 d.add((CraftingStatistic) astatistic[l]); 126 } 127 } 128 } 129 130 a(astatistic); 131 return astatistic; 132 } 133 134 private static Statistic[] b(Statistic[] astatistic, String s, int i, int j, int k) { 135 if (astatistic == null) { 136 astatistic = new Statistic[32000]; 137 } 138 139 for (int l = j; l < k; ++l) { 140 if (Item.byId[l] != null && Item.byId[l].f()) { 141 String s1 = StatisticCollector.a(s, new Object[] { Item.byId[l].j() }); 142 143 astatistic[l] = (new CraftingStatistic(i + l, s1, l)).d(); 144 } 145 } 146 147 a(astatistic); 148 return astatistic; 149 } 150 151 private static void a(Statistic[] astatistic) { 152 a(astatistic, Block.STATIONARY_WATER.id, Block.WATER.id); 153 a(astatistic, Block.STATIONARY_LAVA.id, Block.STATIONARY_LAVA.id); 154 a(astatistic, Block.JACK_O_LANTERN.id, Block.PUMPKIN.id); 155 a(astatistic, Block.BURNING_FURNACE.id, Block.FURNACE.id); 156 a(astatistic, Block.GLOWING_REDSTONE_ORE.id, Block.REDSTONE_ORE.id); 157 a(astatistic, Block.DIODE_ON.id, Block.DIODE_OFF.id); 158 a(astatistic, Block.REDSTONE_TORCH_ON.id, Block.REDSTONE_TORCH_OFF.id); 159 a(astatistic, Block.RED_MUSHROOM.id, Block.BROWN_MUSHROOM.id); 160 a(astatistic, Block.DOUBLE_STEP.id, Block.STEP.id); 161 a(astatistic, Block.GRASS.id, Block.DIRT.id); 162 a(astatistic, Block.SOIL.id, Block.DIRT.id); 163 } 164 165 private static void a(Statistic[] astatistic, int i, int j) { 166 if (astatistic[i] != null && astatistic[j] == null) { 167 astatistic[j] = astatistic[i]; 168 } else { 169 b.remove(astatistic[i]); 170 e.remove(astatistic[i]); 171 c.remove(astatistic[i]); 172 astatistic[i] = astatistic[j]; 173 } 174 } 175 176 static { 177 AchievementList.a(); 178 G = false; 179 H = false; 180 } 181}