4jcraft/Minecraft.World/WorldGen/Features/RandomScatteredLargeFeature.h
2026-03-21 17:45:10 -05:00

48 lines
1.3 KiB
C++

#pragma once
#include "StructureFeature.h"
#include "../Structures/StructureStart.h"
class RandomScatteredLargeFeature : public StructureFeature {
public:
static const std::wstring OPTION_SPACING;
static void staticCtor();
static std::vector<Biome*> allowedBiomes;
private:
std::vector<Biome::MobSpawnerData*> swamphutEnemies;
int spacing;
int minSeparation;
void _init();
public:
RandomScatteredLargeFeature();
RandomScatteredLargeFeature(
std::unordered_map<std::wstring, std::wstring> options);
std::wstring getFeatureName();
protected:
virtual bool isFeatureChunk(int x, int z, bool bIsSuperflat = false);
StructureStart* createStructureStart(int x, int z);
public:
class ScatteredFeatureStart : public StructureStart {
public:
static StructureStart* Create() { return new ScatteredFeatureStart(); }
virtual EStructureStart GetType() {
return eStructureStart_ScatteredFeatureStart;
}
public:
ScatteredFeatureStart();
ScatteredFeatureStart(Level* level, Random* random, int chunkX,
int chunkZ);
};
public:
bool isSwamphut(int cellX, int cellY, int cellZ);
std::vector<Biome::MobSpawnerData*>* getSwamphutEnemies();
};