Cuberite
A lightweight, fast and extensible game server for Minecraft
EnderDragonFightStructuresGen.h
Go to the documentation of this file.
1 
2 #pragma once
3 
4 /*
5 https://minecraft.gamepedia.com/End_spike
6 https://minecraft.gamepedia.com/End_Crystal
7 https://minecraft.gamepedia.com/Ender_Dragon
8 */
9 
10 #include "FinishGen.h"
11 
13  public cFinishGen
14 {
15 public:
17  void Init(const AString & a_TowerProperties, int a_Radius);
18 
19 protected:
21  {
23  int m_Height;
24  int m_Radius;
25  bool m_HasCage;
26  };
27 
29  std::map<cChunkCoords, std::vector<sTowerProperties>> m_TowerPos;
30  static const std::array<Vector3i, 48> m_CagePos;
31  static const std::array<Vector3i, 26> m_CageAir;
33 
34  int m_MinX = -1, m_MaxX = 1, m_MinZ = -1, m_MaxZ = 1;
35 
36  void GenFinish(cChunkDesc &a_ChunkDesc) override;
37  void PlaceTower(cChunkDesc & a_ChunkDesc, const sTowerProperties & a_TowerProperties);
38 };
cChunkDesc
Definition: ChunkDesc.h:27
cNoise
Definition: Noise.h:19
cEnderDragonFightStructuresGen::m_TowerPos
std::map< cChunkCoords, std::vector< sTowerProperties > > m_TowerPos
Definition: EnderDragonFightStructuresGen.h:29
cEnderDragonFightStructuresGen::sTowerProperties::m_Height
int m_Height
Definition: EnderDragonFightStructuresGen.h:23
cEnderDragonFightStructuresGen::m_MaxX
int m_MaxX
Definition: EnderDragonFightStructuresGen.h:34
cEnderDragonFightStructuresGen::PlaceTower
void PlaceTower(cChunkDesc &a_ChunkDesc, const sTowerProperties &a_TowerProperties)
Definition: EnderDragonFightStructuresGen.cpp:220
cBlockArea
Definition: BlockArea.h:37
cEnderDragonFightStructuresGen::cEnderDragonFightStructuresGen
cEnderDragonFightStructuresGen(int a_Seed)
Definition: EnderDragonFightStructuresGen.cpp:60
cEnderDragonFightStructuresGen::Init
void Init(const AString &a_TowerProperties, int a_Radius)
Definition: EnderDragonFightStructuresGen.cpp:69
cFinishGen
The interface that a finisher must implement Finisher implements changes to the chunk after the rough...
Definition: ComposableGenerator.h:184
cEnderDragonFightStructuresGen
Definition: EnderDragonFightStructuresGen.h:12
cEnderDragonFightStructuresGen::sTowerProperties::m_Pos
Vector3i m_Pos
Definition: EnderDragonFightStructuresGen.h:22
cEnderDragonFightStructuresGen::m_Noise
cNoise m_Noise
Definition: EnderDragonFightStructuresGen.h:28
cEnderDragonFightStructuresGen::sTowerProperties::m_Radius
int m_Radius
Definition: EnderDragonFightStructuresGen.h:24
cEnderDragonFightStructuresGen::m_Fountain
cBlockArea m_Fountain
Definition: EnderDragonFightStructuresGen.h:32
FinishGen.h
cEnderDragonFightStructuresGen::m_MaxZ
int m_MaxZ
Definition: EnderDragonFightStructuresGen.h:34
cEnderDragonFightStructuresGen::m_CagePos
static const std::array< Vector3i, 48 > m_CagePos
Definition: EnderDragonFightStructuresGen.h:30
cEnderDragonFightStructuresGen::sTowerProperties::m_HasCage
bool m_HasCage
Definition: EnderDragonFightStructuresGen.h:25
cEnderDragonFightStructuresGen::m_MinZ
int m_MinZ
Definition: EnderDragonFightStructuresGen.h:34
cEnderDragonFightStructuresGen::m_MinX
int m_MinX
Definition: EnderDragonFightStructuresGen.h:34
AString
std::string AString
Definition: StringUtils.h:11
Vector3< int >
cEnderDragonFightStructuresGen::m_CageAir
static const std::array< Vector3i, 26 > m_CageAir
Definition: EnderDragonFightStructuresGen.h:31
cEnderDragonFightStructuresGen::sTowerProperties
Definition: EnderDragonFightStructuresGen.h:20
cEnderDragonFightStructuresGen::GenFinish
void GenFinish(cChunkDesc &a_ChunkDesc) override
Definition: EnderDragonFightStructuresGen.cpp:154