From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- Minecraft.World/StrongholdFeature.h | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Minecraft.World/StrongholdFeature.h (limited to 'Minecraft.World/StrongholdFeature.h') 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 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 *getGuesstimatedFeaturePositions(); + virtual StructureStart *createStructureStart(int x, int z); + +private: + class StrongholdStart : public StructureStart + { + public: + StrongholdStart(Level *level, Random *random, int chunkX, int chunkZ); + }; +}; -- cgit v1.2.3