mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
Allow ObjDefManager instances to be cloned
This commit is contained in:
parent
d1c6cc72cc
commit
2062c80e21
13 changed files with 370 additions and 5 deletions
|
@ -74,12 +74,17 @@ public:
|
|||
size_t placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
|
||||
virtual void generate(MMVManip *vm, int mapseed, u32 blockseed,
|
||||
v3s16 nmin, v3s16 nmax, u8 *biomemap) = 0;
|
||||
|
||||
protected:
|
||||
void cloneTo(Ore *def) const;
|
||||
};
|
||||
|
||||
class OreScatter : public Ore {
|
||||
public:
|
||||
static const bool NEEDS_NOISE = false;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
virtual void generate(MMVManip *vm, int mapseed, u32 blockseed,
|
||||
v3s16 nmin, v3s16 nmax, u8 *biomemap);
|
||||
};
|
||||
|
@ -88,6 +93,8 @@ class OreSheet : public Ore {
|
|||
public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
u16 column_height_min;
|
||||
u16 column_height_max;
|
||||
float column_midpoint_factor;
|
||||
|
@ -100,6 +107,8 @@ class OrePuff : public Ore {
|
|||
public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
NoiseParams np_puff_top;
|
||||
NoiseParams np_puff_bottom;
|
||||
Noise *noise_puff_top = nullptr;
|
||||
|
@ -116,6 +125,8 @@ class OreBlob : public Ore {
|
|||
public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
virtual void generate(MMVManip *vm, int mapseed, u32 blockseed,
|
||||
v3s16 nmin, v3s16 nmax, u8 *biomemap);
|
||||
};
|
||||
|
@ -124,6 +135,8 @@ class OreVein : public Ore {
|
|||
public:
|
||||
static const bool NEEDS_NOISE = true;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
float random_factor;
|
||||
Noise *noise2 = nullptr;
|
||||
int sizey_prev = 0;
|
||||
|
@ -139,6 +152,8 @@ class OreStratum : public Ore {
|
|||
public:
|
||||
static const bool NEEDS_NOISE = false;
|
||||
|
||||
ObjDef *clone() const;
|
||||
|
||||
NoiseParams np_stratum_thickness;
|
||||
Noise *noise_stratum_thickness = nullptr;
|
||||
u16 stratum_thickness;
|
||||
|
@ -155,6 +170,8 @@ public:
|
|||
OreManager(IGameDef *gamedef);
|
||||
virtual ~OreManager() = default;
|
||||
|
||||
OreManager *clone() const;
|
||||
|
||||
const char *getObjectTitle() const
|
||||
{
|
||||
return "ore";
|
||||
|
@ -183,4 +200,7 @@ public:
|
|||
void clear();
|
||||
|
||||
size_t placeAllOres(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax);
|
||||
|
||||
private:
|
||||
OreManager() {};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue