This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.
This reverts commit a9be52c41a.
122 lines
2.4 KiB
C++
122 lines
2.4 KiB
C++
#include "stdafx.h"
|
|
#include "net.minecraft.world.level.h"
|
|
|
|
|
|
// public static final LevelType[] levelTypes = new LevelType[16];
|
|
//
|
|
//
|
|
|
|
//
|
|
//
|
|
// private final String generatorName;
|
|
// private final int version;
|
|
// private boolean selectable;
|
|
// private boolean replacement;
|
|
|
|
LevelType *LevelType::levelTypes[16];// = new LevelType[16];
|
|
LevelType *LevelType::lvl_normal=NULL;// = new LevelType(0, "default", 1).setHasReplacement();
|
|
LevelType *LevelType::lvl_flat=NULL;// = new LevelType(1, "flat");
|
|
LevelType *LevelType::lvl_largeBiomes = NULL;// = new LevelType(2, "largeBiomes");
|
|
LevelType *LevelType::lvl_normal_1_1=NULL;// = new LevelType(8, "default_1_1", 0).setSelectableByUser(false);
|
|
|
|
void LevelType::staticCtor()
|
|
{
|
|
for(int i=0;i<16;i++) levelTypes[i]=NULL;
|
|
lvl_normal = new LevelType(0, L"default", 1);
|
|
lvl_normal->setHasReplacement();
|
|
lvl_flat = new LevelType(1, L"flat");
|
|
lvl_largeBiomes = new LevelType(2, L"largeBiomes");
|
|
lvl_normal_1_1 = new LevelType(8, L"default_1_1", 0);
|
|
lvl_normal_1_1->setSelectableByUser(false);
|
|
}
|
|
|
|
LevelType::LevelType(int id, wstring generatorName)
|
|
{
|
|
init(id, generatorName, 0);
|
|
}
|
|
|
|
LevelType::LevelType(int id, wstring generatorName, int version)
|
|
{
|
|
m_generatorName = generatorName;
|
|
m_version = version;
|
|
m_selectable = true;
|
|
levelTypes[id] = this;
|
|
}
|
|
|
|
|
|
void LevelType::init(int id, wstring generatorName, int version)
|
|
{
|
|
this->id = id;
|
|
m_generatorName = generatorName;
|
|
m_version = version;
|
|
m_selectable = true;
|
|
levelTypes[id] = this;
|
|
}
|
|
|
|
wstring LevelType::getGeneratorName()
|
|
{
|
|
return m_generatorName;
|
|
}
|
|
|
|
wstring LevelType::getDescriptionId()
|
|
{
|
|
return L"generator." + m_generatorName;
|
|
}
|
|
|
|
int LevelType::getVersion()
|
|
{
|
|
return m_version;
|
|
}
|
|
|
|
LevelType *LevelType::getReplacementForVersion(int oldVersion)
|
|
{
|
|
if (this == lvl_normal && oldVersion == 0)
|
|
{
|
|
return lvl_normal_1_1;
|
|
}
|
|
return this;
|
|
}
|
|
|
|
LevelType *LevelType::setSelectableByUser(bool selectable)
|
|
{
|
|
m_selectable = selectable;
|
|
return this;
|
|
}
|
|
|
|
bool LevelType::isSelectable()
|
|
{
|
|
return m_selectable;
|
|
}
|
|
|
|
LevelType *LevelType::setHasReplacement()
|
|
{
|
|
m_replacement = true;
|
|
return this;
|
|
}
|
|
|
|
bool LevelType::hasReplacement()
|
|
{
|
|
return m_replacement;
|
|
}
|
|
|
|
LevelType *LevelType::getLevelType(wstring name)
|
|
{
|
|
if(name.length()>0)
|
|
{
|
|
for (int i = 0; i < 16; i++)
|
|
{
|
|
wstring genname=levelTypes[i]->m_generatorName;
|
|
|
|
if (levelTypes[i] != NULL && (genname.compare(name)==0))
|
|
{
|
|
return levelTypes[i];
|
|
}
|
|
}
|
|
}
|
|
return NULL;
|
|
}
|
|
|
|
int LevelType::getId()
|
|
{
|
|
return id;
|
|
} |