mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-25 12:03:39 +00:00
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "../../IO/Files/ConsoleSavePath.h"
|
|
|
|
class PlayerIO;
|
|
class Dimension;
|
|
class ChunkStorage;
|
|
class LevelData;
|
|
class Player;
|
|
class File;
|
|
|
|
class ConsoleSaveFile;
|
|
|
|
class LevelStorage {
|
|
public:
|
|
static const std::wstring NETHER_FOLDER;
|
|
static const std::wstring ENDER_FOLDER;
|
|
|
|
virtual ~LevelStorage() {}
|
|
virtual LevelData* prepareLevel() = 0;
|
|
virtual void checkSession() = 0;
|
|
virtual ChunkStorage* createChunkStorage(Dimension* dimension) = 0;
|
|
virtual void saveLevelData(
|
|
LevelData* levelData,
|
|
std::vector<std::shared_ptr<Player> >* players) = 0;
|
|
virtual void saveLevelData(LevelData* levelData) = 0;
|
|
virtual PlayerIO* getPlayerIO() = 0;
|
|
virtual void closeAll() = 0;
|
|
virtual ConsoleSavePath getDataFile(const std::wstring& id) = 0;
|
|
virtual std::wstring getLevelId() = 0;
|
|
|
|
public:
|
|
virtual ConsoleSaveFile* getSaveFile() { return NULL; }
|
|
virtual void flushSaveFile(bool autosave) {}
|
|
|
|
// 4J Added
|
|
virtual int getAuxValueForMap(PlayerUID xuid, int dimension, int centreXC,
|
|
int centreZC, int scale) {
|
|
return 0;
|
|
}
|
|
};
|