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.wiki/w/End_spike
6 https://minecraft.wiki/w/End_Crystal
7 https://minecraft.wiki/w/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 };
std::string AString
Definition: StringUtils.h:11
The interface that a finisher must implement Finisher implements changes to the chunk after the rough...
static const std::array< Vector3i, 26 > m_CageAir
void Init(const AString &a_TowerProperties, int a_Radius)
void GenFinish(cChunkDesc &a_ChunkDesc) override
void PlaceTower(cChunkDesc &a_ChunkDesc, const sTowerProperties &a_TowerProperties)
std::map< cChunkCoords, std::vector< sTowerProperties > > m_TowerPos
static const std::array< Vector3i, 48 > m_CagePos
Definition: Noise.h:20