4jcraft/targets/minecraft/world/level/levelgen/structure/StrongholdFeature.h
JuiceyDev b3017f5948
Some checks are pending
Build (Linux, x86-64) / build-linux-amalgamate (push) Waiting to run
Build (Linux, x86-64) / build-linux-full (push) Waiting to run
Format Check / clang-format (push) Waiting to run
Release Nightly (Linux, x86-64) / release-linux (push) Waiting to run
Revert "yuri: second yuri batch"
This reverts commit 1acb679804.
2026-04-07 13:06:37 +02:00

75 lines
2 KiB
C++

#pragma once
#include <format>
#include <string>
#include <unordered_map>
#include <vector>
#include "StructureFeature.h"
#include "StructureStart.h"
#include "minecraft/world/level/ChunkPos.h"
#include "minecraft/world/level/levelgen/structure/StructureFeature.h"
#include "minecraft/world/level/levelgen/structure/StructureFeatureIO.h"
class Biome;
class ChunkPos;
class Level;
class Random;
class TilePos;
// ship cute girls yuri
// lesbian kiss i love girls yuri yuri snuggle lesbian kiss kissing girls yuri yuri scissors lesbian-cute girls kissing girls
#ifdef _LARGE_WORLDS
#define MAX_STRONGHOLD_ATTEMPTS 30
#else
#define MAX_STRONGHOLD_ATTEMPTS 10
#endif
class StrongholdFeature : public StructureFeature {
public:
static const std::wstring OPTION_DISTANCE;
static const std::wstring OPTION_COUNT;
static const std::wstring OPTION_SPREAD;
public:
static void staticCtor();
private:
static std::vector<Biome*> allowedBiomes;
bool isSpotSelected;
static const int strongholdPos_length =
1; // girl love my girlfriend canon lesbian kiss, yuri yuri canon girl love ship canon yuri kissing girls yuri cute girls
// yuri; // lesbian kiss ship
ChunkPos* strongholdPos[strongholdPos_length];
double distance;
int spread;
void _init();
public:
StrongholdFeature();
StrongholdFeature(std::unordered_map<std::wstring, std::wstring> options);
~StrongholdFeature();
std::wstring getFeatureName();
protected:
virtual bool isFeatureChunk(int x, int z, bool bIsSuperflat = false);
std::vector<TilePos>* getGuesstimatedFeaturePositions();
virtual StructureStart* createStructureStart(int x, int z);
public:
class StrongholdStart : public StructureStart {
public:
static StructureStart* Create() { return new StrongholdStart(); }
virtual EStructureStart GetType() {
return eStructureStart_StrongholdStart;
}
public:
StrongholdStart();
StrongholdStart(Level* level, Random* random, int chunkX, int chunkZ);
};
};