#pragma once using namespace std; // If we have more than MAX_PLAYER_DATA_SAVES player.dat's then we delete the oldest ones // This value can be no higher than MAXIMUM_MAP_SAVE_DATA/3 (3 being the number of dimensions in future versions) #define MAX_PLAYER_DATA_SAVES 80 class Player; class PlayerIO { public: virtual void save(shared_ptr player) = 0; virtual bool load(shared_ptr player) = 0; // 4J Changed return val to bool to check if new player or loaded player virtual CompoundTag *loadPlayerDataTag(PlayerUID xuid) = 0; // 4J Changed from string name to xuid // 4J Added virtual void clearOldPlayerFiles() = 0; virtual void saveMapIdLookup() = 0; virtual void deleteMapFilesForPlayer(shared_ptr player) = 0; virtual void saveAllCachedData() = 0; };