aboutsummaryrefslogtreecommitdiff
path: root/src/mg_decoration.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mg_decoration.h')
-rw-r--r--src/mg_decoration.h11
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;