diff options
author | Mattes D <github@xoft.cz> | 2014-08-28 15:53:36 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2014-08-28 15:53:36 +0200 |
commit | 52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c (patch) | |
tree | c7d8ad9c38a32102bd46e0450d271ea1308828ce /src/Generating/DungeonRoomsFinisher.h | |
parent | CheckBasicStyle: Added checking for the "template" keyword. (diff) | |
parent | Fixed ItemCategory code example. (diff) | |
download | cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar.gz cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar.bz2 cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar.lz cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar.xz cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.tar.zst cuberite-52a6b30f324728aee1c1b8e54b8b4ed9c4e9b60c.zip |
Diffstat (limited to 'src/Generating/DungeonRoomsFinisher.h')
-rw-r--r-- | src/Generating/DungeonRoomsFinisher.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/Generating/DungeonRoomsFinisher.h b/src/Generating/DungeonRoomsFinisher.h new file mode 100644 index 000000000..2b52c9de6 --- /dev/null +++ b/src/Generating/DungeonRoomsFinisher.h @@ -0,0 +1,52 @@ + +// DungeonRoomsFinisher.h + +// Declares the cDungeonRoomsFinisher class representing the finisher that generates dungeon rooms + + + + + +#pragma once + +#include "GridStructGen.h" +#include "../ProbabDistrib.h" + + + + + +class cDungeonRoomsFinisher : + public cGridStructGen +{ + typedef cGridStructGen super; + +public: + /** Creates a new dungeon room finisher. + a_HeightGen is the underlying height generator, so that the rooms can always be placed under the terrain. + a_MaxSize and a_MinSize are the maximum and minimum sizes of the room's internal (air) area, in blocks across. + a_HeightDistrib is the string defining the height distribution for the rooms (cProbabDistrib format). */ + cDungeonRoomsFinisher(cTerrainHeightGen & a_HeightGen, int a_Seed, int a_GridSize, int a_MaxSize, int a_MinSize, const AString & a_HeightDistrib); + +protected: + + /** The height gen that is used for limiting the rooms' Y coords */ + cTerrainHeightGen & m_HeightGen; + + /** Maximum half-size (from center to wall) of the dungeon room's inner (air) area. Default is 3 (vanilla). */ + int m_MaxHalfSize; + + /** Minimum half-size (from center to wall) of the dungeon room's inner (air) area. Default is 2 (vanilla). */ + int m_MinHalfSize; + + /** The height probability distribution to make the spawners more common in layers 10 - 40, less common outside this range. */ + cProbabDistrib m_HeightProbability; + + + // cGridStructGen overrides: + virtual cStructurePtr CreateStructure(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ) override; +} ; + + + + |