aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/VillageFeature.h
diff options
context:
space:
mode:
Diffstat (limited to 'Minecraft.World/VillageFeature.h')
-rw-r--r--Minecraft.World/VillageFeature.h30
1 files changed, 24 insertions, 6 deletions
diff --git a/Minecraft.World/VillageFeature.h b/Minecraft.World/VillageFeature.h
index e998918a..1ff7ac75 100644
--- a/Minecraft.World/VillageFeature.h
+++ b/Minecraft.World/VillageFeature.h
@@ -5,27 +5,45 @@ class Biome;
class VillageFeature : public StructureFeature
{
+public:
+ static const wstring OPTION_SIZE_MODIFIER;
+ static const wstring OPTION_SPACING;
+
private:
- const int villageSizeModifier;
+ int villageSizeModifier;
+ int townSpacing;
+ int minTownSeparation;
+
+ void _init(int iXZSize);
public:
static void staticCtor();
static vector<Biome *> allowedBiomes;
- VillageFeature(int villageSizeModifier, int iXZSize);
+ VillageFeature(int iXZSize);
+ VillageFeature(unordered_map<wstring, wstring> options, int iXZSize);
+ wstring getFeatureName();
protected:
virtual bool isFeatureChunk(int x, int z, bool bIsSuperflat=false);
- virtual StructureStart *createStructureStart(int x, int z);
+ virtual StructureStart *createStructureStart(int x, int z);
-private:
+
+public:
class VillageStart : public StructureStart
{
+public:
+ static StructureStart *Create() { return new VillageStart(); }
+ virtual EStructureStart GetType() { return eStructureStart_VillageStart; }
+
private:
bool valid;
int m_iXZSize;
public:
+ VillageStart();
VillageStart(Level *level, Random *random, int chunkX, int chunkZ, int villageSizeModifier,int iXZSize);
- bool isValid();
- };
+ bool isValid();
+ void addAdditonalSaveData(CompoundTag *tag);
+ void readAdditonalSaveData(CompoundTag *tag);
+ };
int m_iXZSize;
};