mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-24 14:03:36 +00:00
35 lines
1.2 KiB
C++
35 lines
1.2 KiB
C++
#include "DerivedServerLevel.h"
|
|
|
|
#include "minecraft/server/level/ServerLevel.h"
|
|
#include "minecraft/world/level/storage/DerivedLevelData.h"
|
|
#include "minecraft/world/level/storage/SavedDataStorage.h"
|
|
|
|
class LevelSettings;
|
|
class LevelStorage;
|
|
class MinecraftServer;
|
|
|
|
DerivedServerLevel::DerivedServerLevel(
|
|
MinecraftServer* server, std::shared_ptr<LevelStorage> levelStorage,
|
|
const std::string& levelName, int dimension, LevelSettings* levelSettings,
|
|
ServerLevel* wrapped)
|
|
: ServerLevel(server, levelStorage, levelName, dimension, levelSettings) {
|
|
// 4J-PB - we're going to override the savedDataStorage, so we need to
|
|
// delete the current one
|
|
if (this->savedDataStorage) {
|
|
delete this->savedDataStorage;
|
|
this->savedDataStorage = nullptr;
|
|
}
|
|
this->savedDataStorage = wrapped->savedDataStorage;
|
|
levelData = new DerivedLevelData(wrapped->getLevelData());
|
|
}
|
|
|
|
DerivedServerLevel::~DerivedServerLevel() {
|
|
// we didn't allocate savedDataStorage here, so we don't want the level
|
|
// destructor to delete it
|
|
this->savedDataStorage = nullptr;
|
|
}
|
|
|
|
void DerivedServerLevel::saveLevelData() {
|
|
// Do nothing?
|
|
// Do nothing!
|
|
} |