diff options
Diffstat (limited to '')
-rw-r--r-- | src/mapgen/mg_decoration.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mapgen/mg_decoration.h b/src/mapgen/mg_decoration.h index 03fec04fd..af8fcd7bf 100644 --- a/src/mapgen/mg_decoration.h +++ b/src/mapgen/mg_decoration.h @@ -73,11 +73,16 @@ public: s16 place_offset_y = 0; std::unordered_set<u8> biomes; + +protected: + void cloneTo(Decoration *def) const; }; class DecoSimple : public Decoration { public: + ObjDef *clone() const; + virtual void resolveNodeNames(); virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); @@ -91,6 +96,8 @@ public: class DecoSchematic : public Decoration { public: + ObjDef *clone() const; + DecoSchematic() = default; virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); @@ -113,6 +120,8 @@ public: DecorationManager(IGameDef *gamedef); virtual ~DecorationManager() = default; + DecorationManager *clone() const; + const char *getObjectTitle() const { return "decoration"; @@ -133,4 +142,7 @@ public: } size_t placeAllDecos(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); + +private: + DecorationManager() {}; }; |