diff options
author | kwolekr <kwolekr@minetest.net> | 2014-12-28 03:11:00 -0500 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2014-12-28 03:11:00 -0500 |
commit | 900fa26965a2fbdf2b9de74e2d680c083de91482 (patch) | |
tree | 01bce4aa413ddde84ee0387a5a69875a437887d1 /src/mg_ore.h | |
parent | 8c98f497d957835803dd43a98a23a5d0eb98124c (diff) | |
download | minetest-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.h | 28 |
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; } |