@@ -52,7 +52,7 @@ extern FlagDesc flagdesc_ore[];
52
52
53
53
class Ore : public ObjDef , public NodeResolver {
54
54
public:
55
- static const bool NEEDS_NOISE = false ;
55
+ const bool needs_noise ;
56
56
57
57
content_t c_ore; // the node to place
58
58
std::vector<content_t > c_wherein; // the nodes to be placed in
@@ -68,7 +68,7 @@ class Ore : public ObjDef, public NodeResolver {
68
68
Noise *noise = nullptr ;
69
69
std::unordered_set<biome_t > biomes;
70
70
71
- Ore () = default ;;
71
+ explicit Ore (bool needs_noise): needs_noise(needs_noise) {}
72
72
virtual ~Ore ();
73
73
74
74
virtual void resolveNodeNames ();
@@ -83,88 +83,81 @@ class Ore : public ObjDef, public NodeResolver {
83
83
84
84
class OreScatter : public Ore {
85
85
public:
86
- static const bool NEEDS_NOISE = false ;
86
+ OreScatter () : Ore( false ) {}
87
87
88
88
ObjDef *clone () const ;
89
89
90
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
91
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
90
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
91
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
92
92
};
93
93
94
94
class OreSheet : public Ore {
95
95
public:
96
- static const bool NEEDS_NOISE = true ;
96
+ OreSheet () : Ore( true ) {}
97
97
98
98
ObjDef *clone () const ;
99
99
100
100
u16 column_height_min;
101
101
u16 column_height_max;
102
102
float column_midpoint_factor;
103
103
104
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
105
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
104
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
105
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
106
106
};
107
107
108
108
class OrePuff : public Ore {
109
109
public:
110
- static const bool NEEDS_NOISE = true ;
111
-
112
110
ObjDef *clone () const ;
113
111
114
112
NoiseParams np_puff_top;
115
113
NoiseParams np_puff_bottom;
116
114
Noise *noise_puff_top = nullptr ;
117
115
Noise *noise_puff_bottom = nullptr ;
118
116
119
- OrePuff () = default ;
117
+ OrePuff () : Ore( true ) {}
120
118
virtual ~OrePuff ();
121
119
122
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
123
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
120
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
121
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
124
122
};
125
123
126
124
class OreBlob : public Ore {
127
125
public:
128
- static const bool NEEDS_NOISE = true ;
129
-
130
126
ObjDef *clone () const ;
131
127
132
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
133
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
128
+ OreBlob () : Ore(true ) {}
129
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
130
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
134
131
};
135
132
136
133
class OreVein : public Ore {
137
134
public:
138
- static const bool NEEDS_NOISE = true ;
139
-
140
135
ObjDef *clone () const ;
141
136
142
137
float random_factor;
143
138
Noise *noise2 = nullptr ;
144
139
int sizey_prev = 0 ;
145
140
146
- OreVein () = default ;
141
+ OreVein () : Ore( true ) {}
147
142
virtual ~OreVein ();
148
143
149
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
150
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
144
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
145
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
151
146
};
152
147
153
148
class OreStratum : public Ore {
154
149
public:
155
- static const bool NEEDS_NOISE = false ;
156
-
157
150
ObjDef *clone () const ;
158
151
159
152
NoiseParams np_stratum_thickness;
160
153
Noise *noise_stratum_thickness = nullptr ;
161
154
u16 stratum_thickness;
162
155
163
- OreStratum () = default ;
156
+ OreStratum () : Ore( false ) {}
164
157
virtual ~OreStratum ();
165
158
166
- virtual void generate (MMVManip *vm, int mapseed, u32 blockseed,
167
- v3s16 nmin, v3s16 nmax, biome_t *biomemap);
159
+ void generate (MMVManip *vm, int mapseed, u32 blockseed,
160
+ v3s16 nmin, v3s16 nmax, biome_t *biomemap) override ;
168
161
};
169
162
170
163
class OreManager : public ObjDefManager {
0 commit comments