PocketMine-MP 5.42.1 git-d77520d210fcb967a02bc11817ad625393c8ebc6
Loading...
Searching...
No Matches
pocketmine\world\format\io\data\BaseNbtWorldData Class Reference
+ Inheritance diagram for pocketmine\world\format\io\data\BaseNbtWorldData:
+ Collaboration diagram for pocketmine\world\format\io\data\BaseNbtWorldData:

Public Member Functions

 __construct (protected string $dataPath)
 
 getCompoundTag ()
 
 getDifficulty ()
 
 getGenerator ()
 
 getGeneratorOptions ()
 
 getLightningLevel ()
 
 getLightningTime ()
 
 getName ()
 
 getRainLevel ()
 
 getRainTime ()
 
 getSeed ()
 
 getSpawn ()
 
 getTime ()
 
 save ()
 
 setDifficulty (int $difficulty)
 
 setLightningLevel (float $level)
 
 setLightningTime (int $ticks)
 
 setName (string $value)
 
 setRainLevel (float $level)
 
 setRainTime (int $ticks)
 
 setSpawn (Vector3 $pos)
 
 setTime (int $value)
 

Protected Member Functions

 fix ()
 
 load ()
 

Static Protected Member Functions

static hackyFixForGeneratorClasspathInLevelDat (string $className)
 

Protected Attributes

CompoundTag $compoundTag
 
const TAG_GENERATOR_NAME = "generatorName"
 
const TAG_GENERATOR_OPTIONS = "generatorOptions"
 
const TAG_LEVEL_NAME = "LevelName"
 
const TAG_RANDOM_SEED = "RandomSeed"
 
const TAG_SPAWN_X = "SpawnX"
 
const TAG_SPAWN_Y = "SpawnY"
 
const TAG_SPAWN_Z = "SpawnZ"
 
const TAG_TIME = "Time"
 

Detailed Description

Definition at line 34 of file BaseNbtWorldData.php.

Constructor & Destructor Documentation

◆ __construct()

pocketmine\world\format\io\data\BaseNbtWorldData::__construct ( protected string $dataPath)
Exceptions
CorruptedWorldException
UnsupportedWorldFormatException

Definition at line 50 of file BaseNbtWorldData.php.

References pocketmine\world\format\io\data\BaseNbtWorldData\fix(), and pocketmine\world\format\io\data\BaseNbtWorldData\load().

+ Here is the call graph for this function:

Member Function Documentation

◆ fix()

pocketmine\world\format\io\data\BaseNbtWorldData::fix ( )
abstractprotected
Exceptions
CorruptedWorldException
UnsupportedWorldFormatException

Reimplemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

Referenced by pocketmine\world\format\io\data\BaseNbtWorldData\__construct().

+ Here is the caller graph for this function:

◆ getCompoundTag()

pocketmine\world\format\io\data\BaseNbtWorldData::getCompoundTag ( )

Definition at line 109 of file BaseNbtWorldData.php.

◆ getDifficulty()

pocketmine\world\format\io\WorldData::getDifficulty ( )
inherited

Returns the world difficulty. This will be one of the World constants.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ getGenerator()

pocketmine\world\format\io\data\BaseNbtWorldData::getGenerator ( )

Returns the generator name

Implements pocketmine\world\format\io\WorldData.

Definition at line 123 of file BaseNbtWorldData.php.

◆ getGeneratorOptions()

pocketmine\world\format\io\data\BaseNbtWorldData::getGeneratorOptions ( )

Implements pocketmine\world\format\io\WorldData.

Definition at line 127 of file BaseNbtWorldData.php.

◆ getLightningLevel()

pocketmine\world\format\io\WorldData::getLightningLevel ( )
inherited

◆ getLightningTime()

pocketmine\world\format\io\WorldData::getLightningTime ( )
inherited

Returns the time in ticks to the next lightning level change.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ getName()

pocketmine\world\format\io\data\BaseNbtWorldData::getName ( )

Implements pocketmine\world\format\io\WorldData.

Definition at line 115 of file BaseNbtWorldData.php.

◆ getRainLevel()

pocketmine\world\format\io\WorldData::getRainLevel ( )
inherited

◆ getRainTime()

pocketmine\world\format\io\WorldData::getRainTime ( )
inherited

Returns the time in ticks to the next rain level change.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ getSeed()

pocketmine\world\format\io\data\BaseNbtWorldData::getSeed ( )

Implements pocketmine\world\format\io\WorldData.

Definition at line 131 of file BaseNbtWorldData.php.

◆ getSpawn()

pocketmine\world\format\io\data\BaseNbtWorldData::getSpawn ( )

Implements pocketmine\world\format\io\WorldData.

Definition at line 146 of file BaseNbtWorldData.php.

◆ getTime()

pocketmine\world\format\io\data\BaseNbtWorldData::getTime ( )

Implements pocketmine\world\format\io\WorldData.

Definition at line 135 of file BaseNbtWorldData.php.

◆ hackyFixForGeneratorClasspathInLevelDat()

static pocketmine\world\format\io\data\BaseNbtWorldData::hackyFixForGeneratorClasspathInLevelDat ( string $className)
staticprotected

Hack to fix worlds broken previously by older versions of PocketMine-MP which incorrectly saved classpaths of generators into level.dat on imported (not generated) worlds.

This should only have affected leveldb worlds as far as I know, because PC format worlds include the generatorName tag by default. However, MCPE leveldb ones didn't, and so they would get filled in with something broken.

This bug took a long time to get found because previously the generator manager would just return the default generator silently on failure to identify the correct generator, which caused lots of unexpected bugs.

Only classnames which were written into the level.dat from "fixing" the level data are included here. These are hardcoded to avoid problems fixing broken worlds in the future if these classes get moved, renamed or removed.

Parameters
string$classNameClassname saved in level.dat
Returns
null|string Name of the correct generator to replace the broken value

Definition at line 95 of file BaseNbtWorldData.php.

◆ load()

pocketmine\world\format\io\data\BaseNbtWorldData::load ( )
abstractprotected
Exceptions
CorruptedWorldException
UnsupportedWorldFormatException

Reimplemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

Referenced by pocketmine\world\format\io\data\BaseNbtWorldData\__construct().

+ Here is the caller graph for this function:

◆ save()

pocketmine\world\format\io\WorldData::save ( )
inherited

Saves information about the world state, such as weather, time, etc.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ setDifficulty()

pocketmine\world\format\io\WorldData::setDifficulty ( int $difficulty)
inherited

◆ setLightningLevel()

pocketmine\world\format\io\WorldData::setLightningLevel ( float $level)
inherited

◆ setLightningTime()

pocketmine\world\format\io\WorldData::setLightningTime ( int $ticks)
inherited

Sets the time in ticks to the next lightning level change.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ setName()

pocketmine\world\format\io\data\BaseNbtWorldData::setName ( string $value)

Implements pocketmine\world\format\io\WorldData.

Definition at line 119 of file BaseNbtWorldData.php.

◆ setRainLevel()

pocketmine\world\format\io\WorldData::setRainLevel ( float $level)
inherited

◆ setRainTime()

pocketmine\world\format\io\WorldData::setRainTime ( int $ticks)
inherited

Sets the time in ticks to the next rain level change.

Implemented in pocketmine\world\format\io\data\BedrockWorldData, and pocketmine\world\format\io\data\JavaWorldData.

◆ setSpawn()

pocketmine\world\format\io\data\BaseNbtWorldData::setSpawn ( Vector3 $pos)

Implements pocketmine\world\format\io\WorldData.

Definition at line 150 of file BaseNbtWorldData.php.

◆ setTime()

pocketmine\world\format\io\data\BaseNbtWorldData::setTime ( int $value)

Implements pocketmine\world\format\io\WorldData.

Definition at line 142 of file BaseNbtWorldData.php.

Member Data Documentation

◆ $compoundTag

CompoundTag pocketmine\world\format\io\data\BaseNbtWorldData::$compoundTag
protected

Definition at line 44 of file BaseNbtWorldData.php.

◆ TAG_GENERATOR_NAME

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_GENERATOR_NAME = "generatorName"
protected

Definition at line 36 of file BaseNbtWorldData.php.

◆ TAG_GENERATOR_OPTIONS

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_GENERATOR_OPTIONS = "generatorOptions"
protected

Definition at line 37 of file BaseNbtWorldData.php.

◆ TAG_LEVEL_NAME

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_LEVEL_NAME = "LevelName"
protected

Definition at line 35 of file BaseNbtWorldData.php.

◆ TAG_RANDOM_SEED

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_RANDOM_SEED = "RandomSeed"
protected

Definition at line 38 of file BaseNbtWorldData.php.

◆ TAG_SPAWN_X

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_SPAWN_X = "SpawnX"
protected

Definition at line 40 of file BaseNbtWorldData.php.

◆ TAG_SPAWN_Y

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_SPAWN_Y = "SpawnY"
protected

Definition at line 41 of file BaseNbtWorldData.php.

◆ TAG_SPAWN_Z

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_SPAWN_Z = "SpawnZ"
protected

Definition at line 42 of file BaseNbtWorldData.php.

◆ TAG_TIME

const pocketmine\world\format\io\data\BaseNbtWorldData::TAG_TIME = "Time"
protected

Definition at line 39 of file BaseNbtWorldData.php.


The documentation for this class was generated from the following file: