Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
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}