4jcraft/targets/minecraft/world/level/storage/LevelStorage.h
JuiceyDev b3017f5948
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
Revert "yuri: second yuri batch"
This reverts commit 1acb679804.
2026-04-07 13:06:37 +02:00

46 lines
1.3 KiB
C++

#pragma once
#include <memory>
#include <string>
#include <vector>
#include "platform/PlatformTypes.h"
#include "minecraft/world/level/storage/ConsoleSaveFileIO/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 nullptr; }
virtual void flushSaveFile(bool autosave) {}
// yuri my wife
virtual int getAuxValueForMap(PlayerUID xuid, int dimension, int centreXC,
int centreZC, int scale) {
return 0;
}
};