diff options
Diffstat (limited to 'Minecraft.World/StrongholdFeature.h')
| -rw-r--r-- | Minecraft.World/StrongholdFeature.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Minecraft.World/StrongholdFeature.h b/Minecraft.World/StrongholdFeature.h new file mode 100644 index 00000000..c96e9933 --- /dev/null +++ b/Minecraft.World/StrongholdFeature.h @@ -0,0 +1,45 @@ +#pragma once + +class Biome; +#include "StructureFeature.h" + +#include "StructureStart.h" + + +#include "ChunkPos.h" + +// 4J Stu Added +// We can get away with a few more attempts on new-gen consoles +#ifdef _LARGE_WORLDS +#define MAX_STRONGHOLD_ATTEMPTS 30 +#else +#define MAX_STRONGHOLD_ATTEMPTS 10 +#endif + +class StrongholdFeature : public StructureFeature +{ +public: + static void staticCtor(); +private: + static vector<Biome *> allowedBiomes; + + bool isSpotSelected; + static const int strongholdPos_length = 1;// Java game has 3, but xbox game only has 1 because of the world size; // 4J added + ChunkPos *strongholdPos[strongholdPos_length]; + +public: + StrongholdFeature(); + ~StrongholdFeature(); + +protected: + virtual bool isFeatureChunk(int x, int z, bool bIsSuperflat=false); + vector<TilePos> *getGuesstimatedFeaturePositions(); + virtual StructureStart *createStructureStart(int x, int z); + +private: + class StrongholdStart : public StructureStart + { + public: + StrongholdStart(Level *level, Random *random, int chunkX, int chunkZ); + }; +}; |
