#pragma once #include #include #include #include #include #include "platform/PlatformTypes.h" #include "minecraft/world/level/saveddata/SavedData.h" class ConsoleSaveFile; class LevelStorage; class SavedDataStorage { private: LevelStorage* levelStorage; typedef std::unordered_map > cacheMapType; cacheMapType cache; std::vector > savedDatas; typedef std::unordered_map uaiMapType; uaiMapType usedAuxIds; public: SavedDataStorage(LevelStorage*); std::shared_ptr get(const std::type_info& clazz, const std::string& id); void set(const std::string& id, std::shared_ptr data); void save(); private: void save(std::shared_ptr data); void loadAuxValues(); public: int getFreeAuxValueFor(const std::string& id); // 4J Added int getAuxValueForMap(PlayerUID xuid, int dimension, int centreXC, int centreZC, int scale); };