the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at master 43 lines 1.2 kB view raw
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};