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/LevelSettings.h | 67 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 Minecraft.World/LevelSettings.h (limited to 'Minecraft.World/LevelSettings.h') 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); +}; -- cgit v1.2.3