the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 197 lines 4.1 kB view raw
1#include "stdafx.h" 2#include "LevelSettings.h" 3#include "net.minecraft.world.level.storage.h" 4#include "LevelType.h" 5 6GameType *GameType::NOT_SET = NULL; 7GameType *GameType::SURVIVAL= NULL; 8GameType *GameType::CREATIVE = NULL; 9GameType *GameType::ADVENTURE = NULL; 10 11void GameType::staticCtor() 12{ 13 NOT_SET = new GameType(-1, L""); 14 SURVIVAL = new GameType(0, L"survival"); 15 CREATIVE = new GameType(1, L"creative"); 16 ADVENTURE = new GameType(2, L"adventure"); 17} 18 19GameType::GameType(int id, const wstring &name) 20{ 21 this->id = id; 22 this->name = name; 23} 24 25int GameType::getId() 26{ 27 return id; 28} 29 30wstring GameType::getName() 31{ 32 return name; 33} 34 35void GameType::updatePlayerAbilities(Abilities *abilities) 36{ 37 if (this == CREATIVE) 38 { 39 abilities->mayfly = true; 40 abilities->instabuild = true; 41 abilities->invulnerable = true; 42 } 43 else 44 { 45 abilities->mayfly = false; 46 abilities->instabuild = false; 47 abilities->invulnerable = false; 48 abilities->flying = false; 49 } 50 abilities->mayBuild = !isAdventureRestricted(); 51} 52 53bool GameType::isAdventureRestricted() 54{ 55 return this == ADVENTURE; 56} 57 58bool GameType::isCreative() 59{ 60 return this == CREATIVE; 61} 62 63bool GameType::isSurvival() 64{ 65 return this == SURVIVAL || this == ADVENTURE; 66} 67 68GameType *GameType::byId(int id) 69{ 70 if(id == NOT_SET->id) return NOT_SET; 71 else if(id == SURVIVAL->id) return SURVIVAL; 72 else if(id == CREATIVE->id) return CREATIVE; 73 else if(id == ADVENTURE->id) return ADVENTURE; 74 75 return SURVIVAL; 76} 77 78GameType *GameType::byName(const wstring &name) 79{ 80 if(name.compare(NOT_SET->name) == 0) return NOT_SET; 81 else if(name.compare(SURVIVAL->name) == 0) return SURVIVAL; 82 else if(name.compare(CREATIVE->name) == 0) return CREATIVE; 83 else if(name.compare(ADVENTURE->name) == 0) return ADVENTURE; 84 85 return SURVIVAL; 86} 87 88void LevelSettings::_init(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale) 89{ 90 this->seed = seed; 91 this->gameType = gameType; 92 this->hardcore = hardcore; 93 this->generateMapFeatures = generateMapFeatures; 94 this->newSeaLevel = newSeaLevel; 95 this->levelType = levelType; 96 this->allowCommands = false; 97 this->startingBonusItems = false; 98 levelTypeOptions = L""; 99 m_xzSize = xzSize; 100 m_hellScale = hellScale; 101} 102 103LevelSettings::LevelSettings(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale) : 104 seed(seed), 105 gameType(gameType), 106 hardcore(hardcore), 107 generateMapFeatures(generateMapFeatures), 108 newSeaLevel(newSeaLevel), 109 levelType(levelType), 110 startingBonusItems(false) 111{ 112 _init(seed, gameType, generateMapFeatures, hardcore, newSeaLevel, levelType, xzSize, hellScale); 113} 114 115LevelSettings::LevelSettings(LevelData *levelData) 116{ 117 _init(levelData->getSeed(), levelData->getGameType(), levelData->isGenerateMapFeatures(), levelData->isHardcore(), levelData->useNewSeaLevel(), levelData->getGenerator(), levelData->getXZSize(), levelData->getHellScale() ); 118} 119 120LevelSettings *LevelSettings::enableStartingBonusItems() 121{ 122 startingBonusItems = true; 123 return this; 124} 125 126LevelSettings *LevelSettings::enableSinglePlayerCommands() 127{ 128 allowCommands = true; 129 return this; 130} 131 132LevelSettings *LevelSettings::setLevelTypeOptions(const wstring &options) 133{ 134 levelTypeOptions = options; 135 return this; 136} 137 138bool LevelSettings::hasStartingBonusItems() 139{ 140 return startingBonusItems; 141} 142 143__int64 LevelSettings::getSeed() 144{ 145 return seed; 146} 147 148GameType *LevelSettings::getGameType() 149{ 150 return gameType; 151} 152 153bool LevelSettings::isHardcore() 154{ 155 return hardcore; 156} 157 158LevelType *LevelSettings::getLevelType() 159{ 160 return levelType; 161} 162 163bool LevelSettings::getAllowCommands() 164{ 165 return allowCommands; 166} 167 168bool LevelSettings::isGenerateMapFeatures() 169{ 170 return generateMapFeatures; 171} 172 173GameType *LevelSettings::validateGameType(int gameType) 174{ 175 return GameType::byId(gameType); 176} 177 178bool LevelSettings::useNewSeaLevel() 179{ 180 return newSeaLevel; 181} 182 183// 4J Added 184int LevelSettings::getXZSize() 185{ 186 return m_xzSize; 187} 188 189int LevelSettings::getHellScale() 190{ 191 return m_hellScale; 192} 193 194wstring LevelSettings::getLevelTypeOptions() 195{ 196 return levelTypeOptions; 197}