the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2using namespace std;
3
4#include "Stat.h"
5
6class ItemStat;
7
8class Stats
9{
10 friend class Stat;
11
12private:
13 static const int BLOCKS_MINED_OFFSET;
14 static const int ITEMS_COLLECTED_OFFSET;
15 static const int ITEMS_CRAFTED_OFFSET;
16 static const int ADDITIONAL_STATS_OFFSET;
17
18protected:
19 static unordered_map<int, Stat*>* statsById;
20
21public:
22 static vector<Stat *> *all;
23 static vector<Stat *> *generalStats;
24 static vector<ItemStat *> *blocksMinedStats;
25 static vector<ItemStat *> *itemsCollectedStats;
26 static vector<ItemStat *> *itemsCraftedStats;
27
28#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
29 static vector<ItemStat *> *blocksPlacedStats;
30#endif
31
32 static Stat *walkOneM;
33 static Stat *swimOneM;
34 static Stat *fallOneM;
35 static Stat *climbOneM;
36 static Stat *minecartOneM;
37 static Stat *boatOneM;
38 static Stat *pigOneM;
39 static Stat *portalsCreated;
40 static Stat *cowsMilked;
41 static Stat *netherLavaCollected;
42
43 static Stat *killsZombie;
44 static Stat *killsSkeleton;
45 static Stat *killsCreeper;
46 static Stat *killsSpider;
47 static Stat *killsSpiderJockey;
48 static Stat *killsZombiePigman;
49 static Stat *killsSlime;
50 static Stat *killsGhast;
51 static Stat *killsNetherZombiePigman;
52
53 // 4J : WESTY : Added for new achievements.
54 static Stat *befriendsWolf;
55 static Stat *totalBlocksMined;
56 static Stat *timePlayed; // Game time, recored as ticks, with TICKS_PER_DAY ticks per day! Stored as large stat so it doesn't max out before reaching 100 days ( 2,400,000 ticks ).
57
58 //static StatArray mobsKilled;
59 static StatArray blocksMined;
60 static StatArray itemsCollected;
61 static StatArray itemsCrafted;
62
63#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
64 static StatArray blocksPlaced;
65#endif
66
67 // Added TU9
68 static Stat *killsEnderdragon; // The number of times this player has dealt the killing blow to the Enderdragon
69 static Stat *completeTheEnd; // The number of times this player has been present when the Enderdragon has died
70
71#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _DURANGO)
72 static StatArray biomesVisisted;
73 static StatArray rainbowCollection;
74#endif
75
76 static void staticCtor();
77
78 static void init();
79
80private:
81 static bool blockStatsLoaded;
82 static bool itemStatsLoaded;
83 static bool craftableStatsLoaded;
84
85public:
86 static void buildBlockStats();
87 static void buildItemStats();
88 static void buildCraftableStats();
89
90 // 4J Stu - Added this function to allow us to add news stats from TU9 onwards
91 static void buildAdditionalStats();
92
93 static Stat *get(int key);
94};