From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/LevelData.h | 133 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 Minecraft.World/LevelData.h (limited to 'Minecraft.World/LevelData.h') diff --git a/Minecraft.World/LevelData.h b/Minecraft.World/LevelData.h new file mode 100644 index 00000000..0afe9be2 --- /dev/null +++ b/Minecraft.World/LevelData.h @@ -0,0 +1,133 @@ +#pragma once +using namespace std; + +class Player; +class CompoundTag; +class LevelSettings; +class LevelType; +class GameType; + +class LevelData +{ + friend class DerivedLevelData; +private: + __int64 seed; + LevelType *m_pGenerator;// = LevelType.normal; + int xSpawn; + int ySpawn; + int zSpawn; + __int64 time; + __int64 lastPlayed; + __int64 sizeOnDisk; +// CompoundTag *loadedPlayerTag; // 4J removed + int dimension; + wstring levelName; + int version; + + bool raining; + int rainTime; + + bool thundering; + int thunderTime; + GameType *gameType; + bool generateMapFeatures; + bool hardcore; + bool allowCommands; + bool initialized; + bool newSeaLevel; // 4J added + bool hasBeenInCreative; // 4J added + bool spawnBonusChest; // 4J added + int m_xzSize; // 4J Added + int m_hellScale; // 4J Added + + // 4J added + int xStronghold; + int yStronghold; + int zStronghold; + bool bStronghold; + + int xStrongholdEndPortal; + int zStrongholdEndPortal; + bool bStrongholdEndPortal; + +protected: + LevelData(); + +public: + LevelData(CompoundTag *tag); + LevelData(LevelSettings *levelSettings, const wstring& levelName); + LevelData(LevelData *copy); + CompoundTag *createTag(); + CompoundTag *createTag(vector > *players); + + enum + { + DIMENSION_NETHER=-1, + DIMENSION_OVERWORLD=0, + DIMENSION_END=1 + }; + +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 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 +}; -- cgit v1.2.3