mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-22 17:18:39 +00:00
Noise: Create a deep copy of NoiseParams
This commit is contained in:
parent
88c28414f4
commit
fb2bc956b1
9 changed files with 91 additions and 91 deletions
17
src/mg_ore.h
17
src/mg_ore.h
|
@ -40,6 +40,8 @@ class ManualMapVoxelManipulator;
|
|||
// nodes isn't the specified node
|
||||
#define OREFLAG_NODEISNT 0x04 // not yet implemented
|
||||
|
||||
#define OREFLAG_USE_NOISE 0x08
|
||||
|
||||
#define ORE_RANGE_ACTUAL 1
|
||||
#define ORE_RANGE_MIRROR 2
|
||||
|
||||
|
@ -54,6 +56,8 @@ extern FlagDesc flagdesc_ore[];
|
|||
|
||||
class Ore : public GenElement {
|
||||
public:
|
||||
static const bool NEEDS_NOISE = false;
|
||||
|
||||
content_t c_ore; // the node to place
|
||||
std::vector<content_t> c_wherein; // the nodes to be placed in
|
||||
u32 clust_scarcity; // ore cluster has a 1-in-clust_scarcity chance of appearing at a node
|
||||
|
@ -64,25 +68,26 @@ public:
|
|||
u8 ore_param2; // to set node-specific attributes
|
||||
u32 flags; // attributes for this ore
|
||||
float nthresh; // threshhold for noise at which an ore is placed
|
||||
NoiseParams *np; // noise for distribution of clusters (NULL for uniform scattering)
|
||||
NoiseParams np; // noise for distribution of clusters (NULL for uniform scattering)
|
||||
Noise *noise;
|
||||
|
||||
Ore();
|
||||
virtual ~Ore();
|
||||
|
||||
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;
|
||||
};
|
||||
|
||||
class OreScatter : public Ore {
|
||||
virtual ~OreScatter() {}
|
||||
public:
|
||||
static const bool NEEDS_NOISE = false;
|
||||
|
||||
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
|
||||
u32 blockseed, v3s16 nmin, v3s16 nmax);
|
||||
};
|
||||
|
||||
class OreSheet : public Ore {
|
||||
virtual ~OreSheet() {}
|
||||
public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
virtual void generate(ManualMapVoxelManipulator *vm, int seed,
|
||||
u32 blockseed, v3s16 nmin, v3s16 nmax);
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue