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 "ChunkStorage.h"
5#include "LevelChunk.h"
6#include "RegionFileCache.h"
7#include "com.mojang.nbt.h"
8#include "OldChunkStorage.h"
9
10class ConsoleSaveFile;
11
12class McRegionChunkStorage : public ChunkStorage
13{
14private:
15 const wstring m_prefix;
16 ConsoleSaveFile *m_saveFile;
17 static CRITICAL_SECTION cs_memory;
18
19 unordered_map<__int64, byteArray> m_entityData;
20
21 static std::deque<DataOutputStream *> s_chunkDataQueue;
22 static int s_runningThreadCount;
23 static C4JThread *s_saveThreads[3];
24
25public:
26 McRegionChunkStorage(ConsoleSaveFile *saveFile, const wstring &prefix);
27 ~McRegionChunkStorage();
28 static void staticCtor();
29
30 virtual LevelChunk *load(Level *level, int x, int z);
31 virtual void save(Level *level, LevelChunk *levelChunk);
32 virtual void saveEntities(Level *level, LevelChunk *levelChunk);
33 virtual void loadEntities(Level *level, LevelChunk *levelChunk);
34 virtual void tick();
35 virtual void flush();
36 virtual void WaitForAll(); // 4J Added
37 virtual void WaitIfTooManyQueuedChunks(); // 4J Added
38
39private:
40 static void WaitForAllSaves();
41 static void WaitForSaves();
42 static int runSaveThreadProc(LPVOID lpParam);
43};