Cuberite
A lightweight, fast and extensible game server for Minecraft
Public Member Functions | Protected Attributes | Private Types | List of all members
cSinglePieceStructuresGen::cGen Class Reference
Inheritance diagram for cSinglePieceStructuresGen::cGen:
Inheritance graph
[legend]
Collaboration diagram for cSinglePieceStructuresGen::cGen:
Collaboration graph
[legend]

Public Member Functions

 cGen (int a_Seed, cBiomeGen &a_BiomeGen, cTerrainHeightGen &a_HeightGen, int a_SeaLevel, const AString &a_Name)
 
virtual cStructurePtr CreateStructure (int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override
 Create a new structure at the specified gridpoint. More...
 
cPlacedPiecePtr GetPiece (int a_BlockX, int a_BlockZ)
 Determines which piece to place from the piece pool. More...
 
bool LoadFromFile (const AString &a_FileName)
 Loads the piecepool from a file. More...
 
- Public Member Functions inherited from cGridStructGen
 cGridStructGen (int a_Seed)
 Creates a new instance that has the generation parameters set to defaults. More...
 
 cGridStructGen (int a_Seed, int a_GridSizeX, int a_GridSizeZ, int a_MaxOffsetX, int a_MaxOffsetZ, int a_MaxStructureSizeX, int a_MaxStructureSizeZ, size_t a_MaxCacheSize)
 
virtual void GenFinish (cChunkDesc &a_ChunkDesc) override
 
void SetGeneratorParams (const AStringMap &a_GeneratorParams)
 Sets the generator params based on the dictionary passed in. More...
 
- Public Member Functions inherited from cFinishGen
virtual ~cFinishGen ()
 

Protected Attributes

cBiomeGenm_BiomeGen
 The underlying biome generator that defines whether the structure is created or not. More...
 
cTerrainHeightGenm_HeightGen
 The underlying height generator, used to position the prefabs crossing chunk borders if they are set to FitGround. More...
 
AString m_Name
 The name that is used for reporting. More...
 
cPrefabPiecePool m_PiecePool
 All available prefabs. More...
 
int m_SeaLevel
 The world's sea level, if available. More...
 
- Protected Attributes inherited from cGridStructGen
int m_BaseSeed
 Base seed of the world for which the generator generates chunk. More...
 
cStructurePtrs m_Cache
 Cache for the most recently generated structures, ordered by the recentness. More...
 
int m_GridSizeX
 The size of each grid's cell in the X axis. More...
 
int m_GridSizeZ
 The size of each grid's cell in the Z axis. More...
 
size_t m_MaxCacheSize
 Maximum allowed sum of costs for items in the cache. More...
 
int m_MaxOffsetX
 The maximum offset of the structure's origin from the grid midpoint, in X coord. More...
 
int m_MaxOffsetZ
 The maximum offset of the structure's origin from the grid midpoint, in Z coord. More...
 
int m_MaxStructureSizeX
 Maximum theoretical size of the structure in the X axis. More...
 
int m_MaxStructureSizeZ
 Maximum theoretical size of the structure in the Z axis. More...
 
cNoise m_Noise
 The noise used for generating grid offsets. More...
 
int m_Seed
 Seed for generating grid offsets and also available for descendants. More...
 

Private Types

using Super = cGridStructGen
 

Additional Inherited Members

- Public Types inherited from cGridStructGen
typedef std::shared_ptr< cStructurecStructurePtr
 
typedef std::list< cStructurePtrcStructurePtrs
 
- Protected Member Functions inherited from cGridStructGen
void ClearCache (void)
 Clears everything from the cache. More...
 
void GetStructuresForChunk (int a_ChunkX, int a_ChunkZ, cStructurePtrs &a_Structures)
 Returns all structures that may intersect the given chunk. More...
 

Detailed Description

Definition at line 12 of file SinglePieceStructuresGen.cpp.

Member Typedef Documentation

◆ Super

Definition at line 15 of file SinglePieceStructuresGen.cpp.

Constructor & Destructor Documentation

◆ cGen()

cSinglePieceStructuresGen::cGen::cGen ( int  a_Seed,
cBiomeGen a_BiomeGen,
cTerrainHeightGen a_HeightGen,
int  a_SeaLevel,
const AString a_Name 
)
inline

Definition at line 17 of file SinglePieceStructuresGen.cpp.

Member Function Documentation

◆ CreateStructure()

virtual cStructurePtr cSinglePieceStructuresGen::cGen::CreateStructure ( int  a_GridX,
int  a_GridZ,
int  a_OriginX,
int  a_OriginZ 
)
inlineoverridevirtual

Create a new structure at the specified gridpoint.

Implements cGridStructGen.

Definition at line 58 of file SinglePieceStructuresGen.cpp.

◆ GetPiece()

cPlacedPiecePtr cSinglePieceStructuresGen::cGen::GetPiece ( int  a_BlockX,
int  a_BlockZ 
)
inline

Determines which piece to place from the piece pool.

Definition at line 81 of file SinglePieceStructuresGen.cpp.

◆ LoadFromFile()

bool cSinglePieceStructuresGen::cGen::LoadFromFile ( const AString a_FileName)
inline

Loads the piecepool from a file.

Returns true on success, logs warning and returns false on failure.

Definition at line 30 of file SinglePieceStructuresGen.cpp.

Member Data Documentation

◆ m_BiomeGen

cBiomeGen& cSinglePieceStructuresGen::cGen::m_BiomeGen
protected

The underlying biome generator that defines whether the structure is created or not.

Definition at line 135 of file SinglePieceStructuresGen.cpp.

◆ m_HeightGen

cTerrainHeightGen& cSinglePieceStructuresGen::cGen::m_HeightGen
protected

The underlying height generator, used to position the prefabs crossing chunk borders if they are set to FitGround.

Definition at line 138 of file SinglePieceStructuresGen.cpp.

◆ m_Name

AString cSinglePieceStructuresGen::cGen::m_Name
protected

The name that is used for reporting.

Definition at line 144 of file SinglePieceStructuresGen.cpp.

◆ m_PiecePool

cPrefabPiecePool cSinglePieceStructuresGen::cGen::m_PiecePool
protected

All available prefabs.

Definition at line 147 of file SinglePieceStructuresGen.cpp.

◆ m_SeaLevel

int cSinglePieceStructuresGen::cGen::m_SeaLevel
protected

The world's sea level, if available.

Used for some cVerticalStrategy descendants.

Definition at line 141 of file SinglePieceStructuresGen.cpp.


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