diff options
Diffstat (limited to 'src/mg_decoration.h')
-rw-r--r-- | src/mg_decoration.h | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/mg_decoration.h b/src/mg_decoration.h index 9295d1a20..1ca632f25 100644 --- a/src/mg_decoration.h +++ b/src/mg_decoration.h @@ -42,6 +42,8 @@ enum DecorationType { #define DECO_USE_NOISE 0x08 #define DECO_FORCE_PLACEMENT 0x10 #define DECO_LIQUID_SURFACE 0x20 +#define DECO_ALL_FLOORS 0x40 +#define DECO_ALL_CEILINGS 0x80 extern FlagDesc flagdesc_deco[]; @@ -56,8 +58,7 @@ public: bool canPlaceDecoration(MMVManip *vm, v3s16 p); size_t placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax); - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p) = 0; - virtual int getHeight() = 0; + virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling) = 0; u32 flags = 0; int mapseed = 0; @@ -78,8 +79,7 @@ public: class DecoSimple : public Decoration { public: virtual void resolveNodeNames(); - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p); - virtual int getHeight(); + virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); std::vector<content_t> c_decos; s16 deco_height; @@ -93,8 +93,7 @@ class DecoSchematic : public Decoration { public: DecoSchematic() = default; - virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p); - virtual int getHeight(); + virtual size_t generate(MMVManip *vm, PcgRandom *pr, v3s16 p, bool ceiling); Rotation rotation; Schematic *schematic = nullptr; |