diff options
| author | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
|---|---|---|
| committer | daoge_cmd <3523206925@qq.com> | 2026-03-01 12:16:08 +0800 |
| commit | b691c43c44ff180d10e7d4a9afc83b98551ff586 (patch) | |
| tree | 3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.World/LevelSettings.h | |
| parent | def8cb415354ac390b7e89052a50605285f1aca9 (diff) | |
Initial commit
Diffstat (limited to 'Minecraft.World/LevelSettings.h')
| -rw-r--r-- | Minecraft.World/LevelSettings.h | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Minecraft.World/LevelSettings.h b/Minecraft.World/LevelSettings.h new file mode 100644 index 00000000..c183df8c --- /dev/null +++ b/Minecraft.World/LevelSettings.h @@ -0,0 +1,67 @@ +#pragma once +class LevelType; + +class Abilities; +class LevelData; + +// 4J Stu - Was Java enum class +class GameType +{ +public: + static GameType *NOT_SET; + static GameType *SURVIVAL; + static GameType *CREATIVE; + static GameType *ADVENTURE; + + static void staticCtor(); + +private: + int id; + wstring name; + + GameType(int id, const wstring &name); + +public: + int getId(); + wstring getName(); + void updatePlayerAbilities(Abilities *abilities); + bool isReadOnly(); + bool isCreative(); + bool isSurvival(); + static GameType *byId(int id); + static GameType *byName(const wstring &name); +}; + +class LevelSettings +{ +private: + __int64 seed; + GameType *gameType; + bool generateMapFeatures; + bool hardcore; + bool newSeaLevel; + LevelType *levelType; + bool allowCommands; + bool startingBonusItems; // 4J - brought forward from 1.3.2 + int m_xzSize; // 4J Added + int m_hellScale; + + void _init(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale); // 4J Added xzSize and hellScale param + +public: + LevelSettings(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale); // 4J Added xzSize and hellScale param + LevelSettings(LevelData *levelData); + LevelSettings *enableStartingBonusItems(); // 4J - brought forward from 1.3.2 + LevelSettings *enableSinglePlayerCommands(); + bool hasStartingBonusItems(); // 4J - brought forward from 1.3.2 + __int64 getSeed(); + GameType *getGameType(); + bool isHardcore(); + LevelType *getLevelType(); + bool getAllowCommands(); + bool isGenerateMapFeatures(); + bool useNewSeaLevel(); + int getXZSize(); // 4J Added + int getHellScale(); // 4J Added + static GameType *validateGameType(int gameType); +}; |
