summaryrefslogtreecommitdiff
path: root/src/mg_ore.h
diff options
context:
space:
mode:
authorkwolekr <kwolekr@minetest.net>2014-12-28 03:11:00 -0500
committerkwolekr <kwolekr@minetest.net>2014-12-28 03:11:00 -0500
commit900fa26965a2fbdf2b9de74e2d680c083de91482 (patch)
tree01bce4aa413ddde84ee0387a5a69875a437887d1 /src/mg_ore.h
parent8c98f497d957835803dd43a98a23a5d0eb98124c (diff)
downloadminetest-900fa26965a2fbdf2b9de74e2d680c083de91482.tar.gz
minetest-900fa26965a2fbdf2b9de74e2d680c083de91482.tar.bz2
minetest-900fa26965a2fbdf2b9de74e2d680c083de91482.zip
Ore: Add Blob ore type
Diffstat (limited to 'src/mg_ore.h')
-rw-r--r--src/mg_ore.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/mg_ore.h b/src/mg_ore.h
index 3b413674e..a20aeefe0 100644
--- a/src/mg_ore.h
+++ b/src/mg_ore.h
@@ -47,9 +47,9 @@ class ManualMapVoxelManipulator;
enum OreType {
- ORE_SCATTER,
- ORE_SHEET,
- ORE_CLAYLIKE
+ ORE_TYPE_SCATTER,
+ ORE_TYPE_SHEET,
+ ORE_TYPE_BLOB,
};
extern FlagDesc flagdesc_ore[];
@@ -78,7 +78,7 @@ public:
size_t placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
- u32 blockseed, v3s16 nmin, v3s16 nmax) = 0;
+ u32 blockseed, v3s16 nmin, v3s16 nmax) = 0;
};
class OreScatter : public Ore {
@@ -86,7 +86,7 @@ public:
static const bool NEEDS_NOISE = false;
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
- u32 blockseed, v3s16 nmin, v3s16 nmax);
+ u32 blockseed, v3s16 nmin, v3s16 nmax);
};
class OreSheet : public Ore {
@@ -94,7 +94,15 @@ public:
static const bool NEEDS_NOISE = true;
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
- u32 blockseed, v3s16 nmin, v3s16 nmax);
+ u32 blockseed, v3s16 nmin, v3s16 nmax);
+};
+
+class OreBlob : public Ore {
+public:
+ static const bool NEEDS_NOISE = true;
+
+ virtual void generate(ManualMapVoxelManipulator *vm, int seed,
+ u32 blockseed, v3s16 nmin, v3s16 nmax);
};
class OreManager : public GenElementManager {
@@ -108,12 +116,12 @@ public:
Ore *create(int type)
{
switch (type) {
- case ORE_SCATTER:
+ case ORE_TYPE_SCATTER:
return new OreScatter;
- case ORE_SHEET:
+ case ORE_TYPE_SHEET:
return new OreSheet;
- //case ORE_CLAYLIKE: //TODO: implement this!
- // return new OreClaylike;
+ case ORE_TYPE_BLOB:
+ return new OreBlob;
default:
return NULL;
}