Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
4.1 kB · 197 lines
C++
at master
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197#include "stdafx.h"#include "LevelSettings.h"#include "net.minecraft.world.level.storage.h"#include "LevelType.h"
GameType *GameType::NOT_SET = NULL;GameType *GameType::SURVIVAL= NULL;GameType *GameType::CREATIVE = NULL;GameType *GameType::ADVENTURE = NULL;
void GameType::staticCtor(){ NOT_SET = new GameType(-1, L""); SURVIVAL = new GameType(0, L"survival"); CREATIVE = new GameType(1, L"creative"); ADVENTURE = new GameType(2, L"adventure");}
GameType::GameType(int id, const wstring &name){ this->id = id; this->name = name;}
int GameType::getId(){ return id;}
wstring GameType::getName(){ return name;}
void GameType::updatePlayerAbilities(Abilities *abilities){ if (this == CREATIVE) { abilities->mayfly = true; abilities->instabuild = true; abilities->invulnerable = true; } else { abilities->mayfly = false; abilities->instabuild = false; abilities->invulnerable = false; abilities->flying = false; } abilities->mayBuild = !isAdventureRestricted();}
bool GameType::isAdventureRestricted(){ return this == ADVENTURE;}
bool GameType::isCreative(){ return this == CREATIVE;}
bool GameType::isSurvival(){ return this == SURVIVAL || this == ADVENTURE;}
GameType *GameType::byId(int id){ if(id == NOT_SET->id) return NOT_SET; else if(id == SURVIVAL->id) return SURVIVAL; else if(id == CREATIVE->id) return CREATIVE; else if(id == ADVENTURE->id) return ADVENTURE;
return SURVIVAL;}
GameType *GameType::byName(const wstring &name){ if(name.compare(NOT_SET->name) == 0) return NOT_SET; else if(name.compare(SURVIVAL->name) == 0) return SURVIVAL; else if(name.compare(CREATIVE->name) == 0) return CREATIVE; else if(name.compare(ADVENTURE->name) == 0) return ADVENTURE;
return SURVIVAL;}
void LevelSettings::_init(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale){ this->seed = seed; this->gameType = gameType; this->hardcore = hardcore; this->generateMapFeatures = generateMapFeatures; this->newSeaLevel = newSeaLevel; this->levelType = levelType; this->allowCommands = false; this->startingBonusItems = false; levelTypeOptions = L""; m_xzSize = xzSize; m_hellScale = hellScale;}
LevelSettings::LevelSettings(__int64 seed, GameType *gameType, bool generateMapFeatures, bool hardcore, bool newSeaLevel, LevelType *levelType, int xzSize, int hellScale) : seed(seed), gameType(gameType), hardcore(hardcore), generateMapFeatures(generateMapFeatures), newSeaLevel(newSeaLevel), levelType(levelType), startingBonusItems(false){ _init(seed, gameType, generateMapFeatures, hardcore, newSeaLevel, levelType, xzSize, hellScale);}
LevelSettings::LevelSettings(LevelData *levelData){ _init(levelData->getSeed(), levelData->getGameType(), levelData->isGenerateMapFeatures(), levelData->isHardcore(), levelData->useNewSeaLevel(), levelData->getGenerator(), levelData->getXZSize(), levelData->getHellScale() );}
LevelSettings *LevelSettings::enableStartingBonusItems(){ startingBonusItems = true; return this;}
LevelSettings *LevelSettings::enableSinglePlayerCommands(){ allowCommands = true; return this;}
LevelSettings *LevelSettings::setLevelTypeOptions(const wstring &options){ levelTypeOptions = options; return this;}
bool LevelSettings::hasStartingBonusItems(){ return startingBonusItems;}
__int64 LevelSettings::getSeed(){ return seed;}
GameType *LevelSettings::getGameType(){ return gameType;}
bool LevelSettings::isHardcore(){ return hardcore;}
LevelType *LevelSettings::getLevelType() { return levelType;}
bool LevelSettings::getAllowCommands(){ return allowCommands;}
bool LevelSettings::isGenerateMapFeatures(){ return generateMapFeatures;}
GameType *LevelSettings::validateGameType(int gameType){ return GameType::byId(gameType);}
bool LevelSettings::useNewSeaLevel(){ return newSeaLevel;}
// 4J Addedint LevelSettings::getXZSize(){ return m_xzSize;}
int LevelSettings::getHellScale(){ return m_hellScale;}
wstring LevelSettings::getLevelTypeOptions(){ return levelTypeOptions;}