aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/LevelData.h
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.World/LevelData.h
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.World/LevelData.h')
-rw-r--r--Minecraft.World/LevelData.h174
1 files changed, 99 insertions, 75 deletions
diff --git a/Minecraft.World/LevelData.h b/Minecraft.World/LevelData.h
index 0afe9be2..2ab243c3 100644
--- a/Minecraft.World/LevelData.h
+++ b/Minecraft.World/LevelData.h
@@ -1,6 +1,8 @@
#pragma once
using namespace std;
+#include "GameRules.h"
+
class Player;
class CompoundTag;
class LevelSettings;
@@ -13,22 +15,24 @@ class LevelData
private:
__int64 seed;
LevelType *m_pGenerator;// = LevelType.normal;
- int xSpawn;
- int ySpawn;
- int zSpawn;
- __int64 time;
- __int64 lastPlayed;
- __int64 sizeOnDisk;
+ wstring generatorOptions;
+ int xSpawn;
+ int ySpawn;
+ int zSpawn;
+ __int64 gameTime;
+ __int64 dayTime;
+ __int64 lastPlayed;
+ __int64 sizeOnDisk;
// CompoundTag *loadedPlayerTag; // 4J removed
- int dimension;
- wstring levelName;
- int version;
+ int dimension;
+ wstring levelName;
+ int version;
- bool raining;
- int rainTime;
+ bool raining;
+ int rainTime;
- bool thundering;
- int thunderTime;
+ bool thundering;
+ int thunderTime;
GameType *gameType;
bool generateMapFeatures;
bool hardcore;
@@ -38,6 +42,13 @@ private:
bool hasBeenInCreative; // 4J added
bool spawnBonusChest; // 4J added
int m_xzSize; // 4J Added
+#ifdef _LARGE_WORLDS
+ int m_xzSizeOld; // 4J MGH Added, for expanding worlds
+ int m_hellScaleOld;
+ bool m_classicEdgeMoat;
+ bool m_smallEdgeMoat;
+ bool m_mediumEdgeMoat;
+#endif
int m_hellScale; // 4J Added
// 4J added
@@ -50,15 +61,17 @@ private:
int zStrongholdEndPortal;
bool bStrongholdEndPortal;
+ GameRules gameRules;
+
protected:
LevelData();
public:
LevelData(CompoundTag *tag);
- LevelData(LevelSettings *levelSettings, const wstring& levelName);
- LevelData(LevelData *copy);
- CompoundTag *createTag();
- CompoundTag *createTag(vector<shared_ptr<Player> > *players);
+ LevelData(LevelSettings *levelSettings, const wstring& levelName);
+ LevelData(LevelData *copy);
+ CompoundTag *createTag();
+ CompoundTag *createTag(vector<shared_ptr<Player> > *players);
enum
{
@@ -71,63 +84,74 @@ protected:
virtual void setTagData(CompoundTag *tag); // 4J - removed CompoundTag *playerTag
public:
- virtual __int64 getSeed();
- virtual int getXSpawn();
- virtual int getYSpawn();
- virtual int getZSpawn();
- virtual int getXStronghold();
- virtual int getZStronghold();
- virtual int getXStrongholdEndPortal();
- virtual int getZStrongholdEndPortal();
- virtual __int64 getTime();
- virtual __int64 getSizeOnDisk();
- virtual CompoundTag *getLoadedPlayerTag();
- //int getDimension(); // 4J Removed TU 9 as it's never accurate
- virtual void setSeed(__int64 seed);
- virtual void setXSpawn(int xSpawn);
- virtual void setYSpawn(int ySpawn);
- virtual void setZSpawn(int zSpawn);
- virtual void setHasStronghold();
- virtual bool getHasStronghold();
- virtual void setXStronghold(int xStronghold);
- virtual void setZStronghold(int zStronghold);
- virtual void setHasStrongholdEndPortal();
- virtual bool getHasStrongholdEndPortal();
- virtual void setXStrongholdEndPortal(int xStrongholdEndPortal);
- virtual void setZStrongholdEndPortal(int zStrongholdEndPortal);
+ virtual __int64 getSeed();
+ virtual int getXSpawn();
+ virtual int getYSpawn();
+ virtual int getZSpawn();
+ virtual int getXStronghold();
+ virtual int getZStronghold();
+ virtual int getXStrongholdEndPortal();
+ virtual int getZStrongholdEndPortal();
+ virtual __int64 getGameTime();
+ virtual __int64 getDayTime();
+ virtual __int64 getSizeOnDisk();
+ virtual CompoundTag *getLoadedPlayerTag();
+ //int getDimension(); // 4J Removed TU 9 as it's never accurate
+ virtual void setSeed(__int64 seed);
+ virtual void setXSpawn(int xSpawn);
+ virtual void setYSpawn(int ySpawn);
+ virtual void setZSpawn(int zSpawn);
+ virtual void setHasStronghold();
+ virtual bool getHasStronghold();
+ virtual void setXStronghold(int xStronghold);
+ virtual void setZStronghold(int zStronghold);
+ virtual void setHasStrongholdEndPortal();
+ virtual bool getHasStrongholdEndPortal();
+ virtual void setXStrongholdEndPortal(int xStrongholdEndPortal);
+ virtual void setZStrongholdEndPortal(int zStrongholdEndPortal);
+
+ virtual void setGameTime(__int64 time);
+ virtual void setDayTime(__int64 time);
+ virtual void setSizeOnDisk(__int64 sizeOnDisk);
+ virtual void setLoadedPlayerTag(CompoundTag *loadedPlayerTag);
+ //void setDimension(int dimension); // 4J Removed TU 9 as it's never used
+ virtual void setSpawn(int xSpawn, int ySpawn, int zSpawn);
+ virtual wstring getLevelName();
+ virtual void setLevelName(const wstring& levelName);
+ virtual int getVersion();
+ virtual void setVersion(int version);
+ virtual __int64 getLastPlayed();
+ virtual bool isThundering();
+ virtual void setThundering(bool thundering);
+ virtual int getThunderTime();
+ virtual void setThunderTime(int thunderTime);
+ virtual bool isRaining();
+ virtual void setRaining(bool raining);
+ virtual int getRainTime();
+ virtual void setRainTime(int rainTime);
+ virtual GameType *getGameType();
+ virtual bool isGenerateMapFeatures();
+ virtual bool getSpawnBonusChest();
+ virtual void setGameType(GameType *gameType);
+ virtual bool useNewSeaLevel();
+ virtual bool getHasBeenInCreative(); // 4J Added
+ virtual void setHasBeenInCreative(bool value); // 4J Added
+ virtual LevelType *getGenerator();
+ virtual void setGenerator(LevelType *generator);
+ virtual wstring getGeneratorOptions();
+ virtual void setGeneratorOptions(const wstring &options);
+ virtual bool isHardcore();
+ virtual bool getAllowCommands();
+ virtual void setAllowCommands(bool allowCommands);
+ virtual bool isInitialized();
+ virtual void setInitialized(bool initialized);
+ virtual GameRules *getGameRules();
+ virtual int getXZSize(); // 4J Added
+#ifdef _LARGE_WORLDS
+ virtual int getXZSizeOld(); // 4J Added
+ virtual void getMoatFlags(bool* bClassicEdgeMoat, bool* bSmallEdgeMoat, bool* bMediumEdgeMoat); //4J MGH - added
+ virtual int getXZHellSizeOld(); // 4J Added
- virtual void setTime(__int64 time);
- virtual void setSizeOnDisk(__int64 sizeOnDisk);
- virtual void setLoadedPlayerTag(CompoundTag *loadedPlayerTag);
- //void setDimension(int dimension); // 4J Removed TU 9 as it's never used
- virtual void setSpawn(int xSpawn, int ySpawn, int zSpawn);
- virtual wstring getLevelName();
- virtual void setLevelName(const wstring& levelName);
- virtual int getVersion();
- virtual void setVersion(int version);
- virtual __int64 getLastPlayed();
- virtual bool isThundering();
- virtual void setThundering(bool thundering);
- virtual int getThunderTime();
- virtual void setThunderTime(int thunderTime);
- virtual bool isRaining();
- virtual void setRaining(bool raining);
- virtual int getRainTime();
- virtual void setRainTime(int rainTime);
- virtual GameType *getGameType();
- virtual bool isGenerateMapFeatures();
- virtual bool getSpawnBonusChest();
- virtual void setGameType(GameType *gameType);
- virtual bool useNewSeaLevel();
- virtual bool getHasBeenInCreative(); // 4J Added
- virtual void setHasBeenInCreative(bool value); // 4J Added
- virtual LevelType *getGenerator();
- virtual void setGenerator(LevelType *generator);
- virtual bool isHardcore();
- virtual bool getAllowCommands();
- virtual void setAllowCommands(bool allowCommands);
- virtual bool isInitialized();
- virtual void setInitialized(bool initialized);
- virtual int getXZSize(); // 4J Added
- virtual int getHellScale(); // 4J Addded
+#endif
+ virtual int getHellScale(); // 4J Addded
};