diff options
Diffstat (limited to 'Minecraft.World/LevelData.h')
| -rw-r--r-- | Minecraft.World/LevelData.h | 174 |
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 }; |
