summaryrefslogtreecommitdiff
path: root/src/mg_ore.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2015-09-15 21:28:16 -0400
committerkwolekr <kwolekr@minetest.net>2015-09-17 03:04:50 -0400
commitdcbb95338a9b0e2c5c95fcfc6eeceb9d6d93f320 (patch)
tree1234b8308040a7ce297457951c817cec904c4996 /src/mg_ore.h
parent6c81be51ffd26ec7dee1ecb887a8743a8b6a6ce4 (diff)
downloadminetest-dcbb95338a9b0e2c5c95fcfc6eeceb9d6d93f320.tar.gz
minetest-dcbb95338a9b0e2c5c95fcfc6eeceb9d6d93f320.tar.bz2
minetest-dcbb95338a9b0e2c5c95fcfc6eeceb9d6d93f320.zip
Ore: Add puff ore type
Diffstat (limited to 'src/mg_ore.h')
-rw-r--r--src/mg_ore.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/mg_ore.h b/src/mg_ore.h
index db204437e..8ffb8fca0 100644
--- a/src/mg_ore.h
+++ b/src/mg_ore.h
@@ -30,17 +30,18 @@ class MMVManip;
/////////////////// Ore generation flags
-// Use absolute value of height to determine ore placement
-#define OREFLAG_ABSHEIGHT 0x01
-#define OREFLAG_USE_NOISE 0x08
+#define OREFLAG_ABSHEIGHT 0x01
+#define OREFLAG_PUFF_CLIFFS 0x02
+#define OREFLAG_PUFF_ADDITIVE 0x04
+#define OREFLAG_USE_NOISE 0x08
#define ORE_RANGE_ACTUAL 1
#define ORE_RANGE_MIRROR 2
-
enum OreType {
ORE_SCATTER,
ORE_SHEET,
+ ORE_PUFF,
ORE_BLOB,
ORE_VEIN,
};
@@ -95,6 +96,22 @@ public:
v3s16 nmin, v3s16 nmax, u8 *biomemap);
};
+class OrePuff : public Ore {
+public:
+ static const bool NEEDS_NOISE = true;
+
+ NoiseParams np_puff_top;
+ NoiseParams np_puff_bottom;
+ Noise *noise_puff_top;
+ Noise *noise_puff_bottom;
+
+ OrePuff();
+ virtual ~OrePuff();
+
+ virtual void generate(MMVManip *vm, int mapseed, u32 blockseed,
+ v3s16 nmin, v3s16 nmax, u8 *biomemap);
+};
+
class OreBlob : public Ore {
public:
static const bool NEEDS_NOISE = true;
@@ -134,6 +151,8 @@ public:
return new OreScatter;
case ORE_SHEET:
return new OreSheet;
+ case ORE_PUFF:
+ return new OrePuff;
case ORE_BLOB:
return new OreBlob;
case ORE_VEIN: