Cuberite
A lightweight, fast and extensible game server for Minecraft
ChunkGenerator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "../Defines.h"
4 #include "ChunkDef.h"
5 
6 
7 
8 // fwd:
9 class cIniFile;
10 class cChunkDesc;
11 
12 
13 
14 
15 
21 {
22 public:
23  virtual ~cChunkGenerator() {} // Force a virtual destructor
24 
27  virtual void Initialize(cIniFile & a_IniFile);
28 
31  virtual void GenerateBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap & a_BiomeMap) = 0;
32 
36  virtual EMCSBiome GetBiomeAt(int a_BlockX, int a_BlockZ);
37 
40  virtual void Generate(cChunkDesc & a_ChunkDesc) = 0;
41 
43  int GetSeed(void) const { return m_Seed; }
44 
47  static std::unique_ptr<cChunkGenerator> CreateFromIniFile(cIniFile & a_IniFile);
48 
49 
50 protected:
51 
53  int m_Seed;
54 
57 };
58 
59 
60 
61 
cChunkDesc
Definition: ChunkDesc.h:27
cChunkGenerator::~cChunkGenerator
virtual ~cChunkGenerator()
Definition: ChunkGenerator.h:23
cChunkDef::BiomeMap
EMCSBiome BiomeMap[Width *Width]
The type used for any biomemap operations and storage inside Cuberite, using Cuberite biomes (need no...
Definition: ChunkDef.h:120
cChunkGenerator::Generate
virtual void Generate(cChunkDesc &a_ChunkDesc)=0
Does the actual chunk generation.
cChunkGenerator::m_Dimension
eDimension m_Dimension
The dimension, read from the INI file.
Definition: ChunkGenerator.h:56
cChunkGenerator::GetSeed
int GetSeed(void) const
Returns the seed that was read from the INI file.
Definition: ChunkGenerator.h:43
cChunkGenerator::m_Seed
int m_Seed
The main seed, read from the INI file, used for the entire generator.
Definition: ChunkGenerator.h:53
cChunkGenerator::GetBiomeAt
virtual EMCSBiome GetBiomeAt(int a_BlockX, int a_BlockZ)
Returns the biome at the specified coords.
Definition: ChunkGenerator.cpp:68
EMCSBiome
EMCSBiome
Biome IDs The first batch corresponds to the clientside biomes, used by MineCraft.
Definition: BiomeDef.h:17
cChunkGenerator::Initialize
virtual void Initialize(cIniFile &a_IniFile)
Called to initialize the generator on server startup.
Definition: ChunkGenerator.cpp:15
cChunkGenerator::CreateFromIniFile
static std::unique_ptr< cChunkGenerator > CreateFromIniFile(cIniFile &a_IniFile)
Creates and initializes the entire generator based on the settings in the INI file.
Definition: ChunkGenerator.cpp:36
eDimension
eDimension
Dimension of a world.
Definition: Defines.h:230
cIniFile
Definition: IniFile.h:33
cChunkCoords
Definition: ChunkDef.h:55
cChunkGenerator::GenerateBiomes
virtual void GenerateBiomes(cChunkCoords a_ChunkCoords, cChunkDef::BiomeMap &a_BiomeMap)=0
Generates the biomes for the specified chunk.
ChunkDef.h
cChunkGenerator
The interface that all chunk generators must implement to provide the generated chunks.
Definition: ChunkGenerator.h:20