the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "Achievements.h"
3#include "Item.h"
4#include "Tile.h"
5#include "CommonStats.h"
6
7Stat *CommonStats::get_stat(int i)
8{
9 return Stats::get(i);
10}
11
12Stat* CommonStats::get_walkOneM() { return Stats::walkOneM; }
13
14Stat* CommonStats::get_swimOneM() { return Stats::swimOneM; }
15
16Stat* CommonStats::get_fallOneM() { return Stats::fallOneM; }
17
18Stat* CommonStats::get_climbOneM() { return Stats::climbOneM; }
19
20Stat* CommonStats::get_minecartOneM() { return Stats::minecartOneM; }
21
22Stat* CommonStats::get_boatOneM() { return Stats::boatOneM; }
23
24Stat* CommonStats::get_pigOneM() { return Stats::pigOneM; }
25
26Stat* CommonStats::get_portalsCreated() { return Stats::portalsCreated; }
27
28Stat* CommonStats::get_cowsMilked() { return Stats::cowsMilked; }
29
30Stat* CommonStats::get_netherLavaCollected() { return Stats::netherLavaCollected; }
31
32Stat* CommonStats::get_killsZombie() { return Stats::killsZombie; }
33
34Stat* CommonStats::get_killsSkeleton() { return Stats::killsSkeleton; }
35
36Stat* CommonStats::get_killsCreeper() { return Stats::killsCreeper; }
37
38Stat* CommonStats::get_killsSpider() { return Stats::killsSpider; }
39
40Stat* CommonStats::get_killsSpiderJockey() { return Stats::killsSpiderJockey; }
41
42Stat* CommonStats::get_killsZombiePigman() { return Stats::killsZombiePigman; }
43
44Stat* CommonStats::get_killsSlime() { return Stats::killsSlime; }
45
46Stat* CommonStats::get_killsGhast() { return Stats::killsGhast; }
47
48Stat* CommonStats::get_killsNetherZombiePigman() { return Stats::killsNetherZombiePigman; }
49
50Stat *CommonStats::get_breedEntity(eINSTANCEOF mobType)
51{
52 if (mobType == eTYPE_COW) return GenericStats::repopulation();
53 else return NULL;
54}
55
56Stat *CommonStats::get_tamedEntity(eINSTANCEOF mobType)
57{
58 if (mobType == eTYPE_OCELOT) return GenericStats::lionTamer();
59 else if (mobType == eTYPE_WOLF) return Stats::befriendsWolf;
60 else return NULL;
61}
62
63Stat *CommonStats::get_craftedEntity(eINSTANCEOF mobType)
64{
65 if (mobType == eTYPE_VILLAGERGOLEM) return GenericStats::bodyGuard();
66 else return NULL;
67}
68
69Stat *CommonStats::get_shearedEntity(eINSTANCEOF mobType)
70{
71 if (mobType == eTYPE_SHEEP) return GenericStats::haveAShearfulDay();
72 else return NULL;
73}
74
75Stat *CommonStats::get_totalBlocksMined() { return Stats::totalBlocksMined; }
76
77Stat* CommonStats::get_timePlayed() { return Stats::timePlayed; }
78
79Stat* CommonStats::get_blocksPlaced(int blockId)
80{
81#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
82 return Stats::blocksPlaced[blockId];
83#else
84 return NULL;
85#endif
86}
87
88Stat *CommonStats::get_blocksMined(int blockId) { return Stats::blocksMined[blockId]; }
89
90Stat *CommonStats::get_itemsCollected(int itemId, int itemAux)
91{
92 // 4J-JEV: We don't need itemsCollected(emerald) so I'm using it to
93 // stor itemsBought(emerald) so I don't have to make yet another massive
94 // StatArray for Items Bought.
95#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
96 if (itemId == Tile::wool_Id) return Stats::rainbowCollection[itemAux];
97#endif
98
99 if (itemId != Item::emerald_Id) return Stats::itemsCollected[itemId];
100 else return NULL;
101}
102
103Stat *CommonStats::get_itemsCrafted(int itemId) { return Stats::itemsCrafted[itemId]; }
104
105Stat *CommonStats::get_itemsSmelted(int itemId) { return Stats::itemsCrafted[itemId]; }
106
107Stat *CommonStats::get_itemsUsed(int itemId)
108{
109#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
110 // 4J-JEV: I've done the same thing here, we can't place these items anyway.
111 if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId];
112#endif
113
114 return NULL;
115}
116
117Stat *CommonStats::get_itemsBought(int itemId)
118{
119 // 4J-JEV: We don't need itemsCollected(emerald) so I'm using it to
120 // stor itemsBought(emerald) so I don't have to make yet another massive
121 // StatArray for Items Bought.
122
123 if (itemId == Item::emerald_Id) return Stats::itemsCollected[itemId];
124 else return NULL;
125}
126
127Stat *CommonStats::get_killsEnderdragon() { return Stats::killsEnderdragon; }
128
129Stat *CommonStats::get_completeTheEnd() { return Stats::completeTheEnd; }
130
131Stat *CommonStats::get_enteredBiome(int biomeId)
132{
133#if (defined _EXTENDED_ACHIEVEMENTS) && (!defined _XBOX_ONE)
134 return Stats::biomesVisisted[biomeId];
135#else
136 return NULL;
137#endif
138}
139
140Stat *CommonStats::get_achievement(eAward achievementId)
141{
142 switch (achievementId)
143 {
144 case eAward_TakingInventory: return (Stat *) Achievements::openInventory;
145 case eAward_GettingWood: return (Stat *) Achievements::mineWood;
146 case eAward_Benchmarking: return (Stat *) Achievements::buildWorkbench;
147 case eAward_TimeToMine: return (Stat *) Achievements::buildPickaxe;
148 case eAward_HotTopic: return (Stat *) Achievements::buildFurnace;
149 case eAward_AquireHardware: return (Stat *) Achievements::acquireIron;
150 case eAward_TimeToFarm: return (Stat *) Achievements::buildHoe;
151 case eAward_BakeBread: return (Stat *) Achievements::makeBread;
152 case eAward_TheLie: return (Stat *) Achievements::bakeCake;
153 case eAward_GettingAnUpgrade: return (Stat *) Achievements::buildBetterPickaxe;
154 case eAward_DeliciousFish: return (Stat *) Achievements::cookFish;
155 case eAward_OnARail: return (Stat *) Achievements::onARail;
156 case eAward_TimeToStrike: return (Stat *) Achievements::buildSword;
157 case eAward_MonsterHunter: return (Stat *) Achievements::killEnemy;
158 case eAward_CowTipper: return (Stat *) Achievements::killCow;
159 case eAward_WhenPigsFly: return (Stat *) Achievements::flyPig;
160 case eAward_LeaderOfThePack: return (Stat *) Achievements::leaderOfThePack;
161 case eAward_MOARTools: return (Stat *) Achievements::MOARTools;
162 case eAward_DispenseWithThis: return (Stat *) Achievements::dispenseWithThis;
163 case eAward_InToTheNether: return (Stat *) Achievements::InToTheNether;
164 case eAward_mine100Blocks: return (Stat *) Achievements::mine100Blocks;
165 case eAward_kill10Creepers: return (Stat *) Achievements::kill10Creepers;
166 case eAward_eatPorkChop: return (Stat *) Achievements::eatPorkChop;
167 case eAward_play100Days: return (Stat *) Achievements::play100Days;
168 case eAward_arrowKillCreeper: return (Stat *) Achievements::arrowKillCreeper;
169 case eAward_socialPost: return (Stat *) Achievements::socialPost;
170
171#ifndef _XBOX
172 case eAward_snipeSkeleton: return (Stat *) Achievements::snipeSkeleton;
173 case eAward_diamonds: return (Stat *) Achievements::diamonds;
174 case eAward_portal: return (Stat *) NULL; // TODO
175 case eAward_ghast: return (Stat *) Achievements::ghast;
176 case eAward_blazeRod: return (Stat *) Achievements::blazeRod;
177 case eAward_potion: return (Stat *) Achievements::potion;
178 case eAward_theEnd: return (Stat *) Achievements::theEnd;
179 case eAward_winGame: return (Stat *) Achievements::winGame;
180 case eAward_enchantments: return (Stat *) Achievements::enchantments;
181#endif
182
183#ifdef _EXTENDED_ACHIEVEMENTS
184 case eAward_overkill: return (Stat *) Achievements::overkill; // Restored old ach.
185 case eAward_bookcase: return (Stat *) Achievements::bookcase; // Restored old ach.
186
187 case eAward_adventuringTime: return (Stat *) Achievements::adventuringTime;
188 case eAward_repopulation: return (Stat *) Achievements::repopulation;
189 case eAward_diamondsToYou: return (Stat *) Achievements::diamondsToYou;
190 //case eAward_passingTheTime: return (Stat *) Achievements::passingTheTime;
191 //case eAward_archer: return (Stat *) Achievements::archer;
192 case eAward_theHaggler: return (Stat *) Achievements::theHaggler;
193 case eAward_potPlanter: return (Stat *) Achievements::potPlanter;
194 case eAward_itsASign: return (Stat *) Achievements::itsASign;
195 case eAward_ironBelly: return (Stat *) Achievements::ironBelly;
196 case eAward_haveAShearfulDay: return (Stat *) Achievements::haveAShearfulDay;
197 case eAward_rainbowCollection: return (Stat *) Achievements::rainbowCollection;
198 case eAward_stayinFrosty: return (Stat *) Achievements::stayinFrosty;
199 case eAward_chestfulOfCobblestone: return (Stat *) Achievements::chestfulOfCobblestone;
200 case eAward_renewableEnergy: return (Stat *) Achievements::renewableEnergy;
201 case eAward_musicToMyEars: return (Stat *) Achievements::musicToMyEars;
202 case eAward_bodyGuard: return (Stat *) Achievements::bodyGuard;
203 case eAward_ironMan: return (Stat *) Achievements::ironMan;
204 case eAward_zombieDoctor: return (Stat *) Achievements::zombieDoctor;
205 case eAward_lionTamer: return (Stat *) Achievements::lionTamer;
206#endif
207
208 default: return (Stat *) NULL;
209 }
210}
211
212byteArray CommonStats::getParam_walkOneM(int distance)
213{
214 return makeParam(distance);
215}
216
217byteArray CommonStats::getParam_swimOneM(int distance)
218{
219 return makeParam(distance);
220}
221
222byteArray CommonStats::getParam_fallOneM(int distance)
223{
224 return makeParam(distance);
225}
226
227byteArray CommonStats::getParam_climbOneM(int distance)
228{
229 return makeParam(distance);
230}
231
232byteArray CommonStats::getParam_minecartOneM(int distance)
233{
234 return makeParam(distance);
235}
236
237byteArray CommonStats::getParam_boatOneM(int distance)
238{
239 return makeParam(distance);
240}
241
242byteArray CommonStats::getParam_pigOneM(int distance)
243{
244 return makeParam(distance);
245}
246
247byteArray CommonStats::getParam_blocksMined(int id, int data, int count)
248{
249 return makeParam(count);
250}
251
252byteArray CommonStats::getParam_itemsCollected(int id, int aux, int count)
253{
254 return makeParam(count);
255}
256
257byteArray CommonStats::getParam_itemsCrafted(int id, int aux, int count)
258{
259 return makeParam(count);
260}
261
262byteArray CommonStats::getParam_itemsSmelted(int id, int aux, int count)
263{
264 return makeParam(count);
265}
266
267byteArray CommonStats::getParam_itemsUsed(int id, int aux, int count)
268{
269 return makeParam(count);
270}
271
272byteArray CommonStats::getParam_itemsBought(int id, int aux, int count)
273{
274 return makeParam(count);
275}
276
277byteArray CommonStats::getParam_time(int timediff)
278{
279 return makeParam(timediff);
280}
281
282byteArray CommonStats::getParam_noArgs()
283{
284 return makeParam();
285}
286
287byteArray CommonStats::makeParam(int count)
288{
289 byteArray out( sizeof(int) );
290 memcpy(out.data,&count,sizeof(int));
291 return out;
292}
293
294int CommonStats::readParam(byteArray paramBlob)
295{
296 if (paramBlob.length == sizeof(int)) return *( (int*) paramBlob.data );
297 else return 1;
298}