30#define MAPGEN_DEFAULT MAPGEN_V7
31#define MAPGEN_DEFAULT_NAME "v7"
35#define MG_DUNGEONS 0x04
37#define MG_DECORATIONS 0x20
95 const std::set<std::string> *notify_on_custom);
99 bool setCustom(
const std::string &key,
const std::string &value);
100 void getEvents(std::map<std::string, std::vector<v3s16>> &map)
const;
204 std::vector<s16> &floors, std::vector<s16> &ceilings);
224 bool propagate_shadow =
true);
258 static void getMapgenNames(std::vector<const char *> *mgnames,
bool include_hidden);
272 const v3s16 &
p, u8 light);
Definition: mg_biome.h:94
Definition: mg_biome.h:211
Definition: mg_biome.h:43
StringMap m_notify_custom
Definition: mapgen.h:109
bool addEvent(GenNotifyType type, v3s16 pos)
Definition: mapgen.cpp:993
GenerateNotifier()=default
void clearEvents()
Definition: mapgen.cpp:1054
const StringMap & getCustomData() const
Definition: mapgen.h:101
void getEvents(std::map< std::string, std::vector< v3s16 > > &map) const
Definition: mapgen.cpp:1039
bool shouldNotifyOn(GenNotifyType type) const
Definition: mapgen.h:111
std::list< GenNotifyEvent > m_notify_events
Definition: mapgen.h:108
const std::set< std::string > * m_notify_on_custom
Definition: mapgen.h:107
bool addDecorationEvent(v3s16 pos, u32 deco_id)
Definition: mapgen.cpp:1007
bool setCustom(const std::string &key, const std::string &value)
Definition: mapgen.cpp:1025
const std::set< u32 > * m_notify_on_deco_ids
Definition: mapgen.h:106
u32 m_notify_on
Definition: mapgen.h:105
Definition: mapblock.h:73
int zstride_1u1d
Definition: mapgen.h:325
float cavern_limit
Definition: mapgen.h:334
content_t c_lava_source
Definition: mapgen.h:319
float cavern_taper
Definition: mapgen.h:335
int zstride_1d
Definition: mapgen.h:324
content_t c_stone
Definition: mapgen.h:316
virtual void dustTopNodes()
Definition: mapgen.cpp:792
Noise * noise_filler_depth
Definition: mapgen.h:309
virtual bool generateCavernsNoise(s16 max_stone_y)
Definition: mapgen.cpp:901
content_t c_water_source
Definition: mapgen.h:317
virtual void generateDungeons(s16 max_stone_y)
Definition: mapgen.cpp:913
v3s16 full_node_min
Definition: mapgen.h:313
NoiseParams np_cave1
Definition: mapgen.h:329
int ystride
Definition: mapgen.h:322
int zstride
Definition: mapgen.h:323
NoiseParams np_dungeons
Definition: mapgen.h:332
int large_cave_num_min
Definition: mapgen.h:339
virtual void generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_ymax)
Definition: mapgen.cpp:870
s16 dungeon_ymin
Definition: mapgen.h:343
u32 spflags
Definition: mapgen.h:327
s16 dungeon_ymax
Definition: mapgen.h:344
virtual ~MapgenBasic()
Definition: mapgen.cpp:635
content_t c_river_water_source
Definition: mapgen.h:318
v3s16 node_min
Definition: mapgen.h:311
int large_cave_num_max
Definition: mapgen.h:340
BiomeManager * m_bmgr
Definition: mapgen.h:307
int small_cave_num_min
Definition: mapgen.h:337
float cave_width
Definition: mapgen.h:333
v3s16 full_node_max
Definition: mapgen.h:314
int small_cave_num_max
Definition: mapgen.h:338
v3s16 node_max
Definition: mapgen.h:312
float large_cave_flooded
Definition: mapgen.h:341
virtual void generateCavesNoiseIntersection(s16 max_stone_y)
Definition: mapgen.cpp:856
float cavern_threshold
Definition: mapgen.h:336
NoiseParams np_cave2
Definition: mapgen.h:330
content_t c_cobble
Definition: mapgen.h:320
s16 large_cave_depth
Definition: mapgen.h:342
NoiseParams np_cavern
Definition: mapgen.h:331
virtual void generateBiomes()
Definition: mapgen.cpp:641
s16 findGroundLevel(v2s16 p2d, s16 ymin, s16 ymax)
Definition: mapgen.cpp:256
void getSurfaces(v2s16 p2d, s16 ymin, s16 ymax, std::vector< s16 > &floors, std::vector< s16 > &ceilings)
Definition: mapgen.cpp:311
virtual MapgenType getType() const
Definition: mapgen.h:196
void updateHeightmap(v3s16 nmin, v3s16 nmax)
Definition: mapgen.cpp:294
s16 findLiquidSurface(v2s16 p2d, s16 ymin, s16 ymax)
Definition: mapgen.cpp:274
void lightSpread(VoxelArea &a, std::queue< std::pair< v3s16, u8 > > &queue, const v3s16 &p, u8 light)
Spread light to the node at the given position, add to queue if changed.
Definition: mapgen.cpp:447
GenerateNotifier gennotify
Definition: mapgen.h:189
s16 * heightmap
Definition: mapgen.h:184
EmergeParams * m_emerge
Definition: mapgen.h:180
s32 seed
Definition: mapgen.h:170
virtual int getGroundLevelAtPoint(v2s16 p)
Definition: mapgen.h:243
virtual int getSpawnLevelAtPoint(v2s16 p)
Definition: mapgen.h:250
virtual void makeChunk(BlockMakeData *data)
Definition: mapgen.h:242
MMVManip * vm
Definition: mapgen.h:177
u32 flags
Definition: mapgen.h:173
int water_level
Definition: mapgen.h:171
void calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax, bool propagate_shadow=true)
Run all lighting calculations.
Definition: mapgen.cpp:484
static MapgenType getMapgenType(const std::string &mgname)
Definition: mapgen.cpp:145
static u32 getBlockSeed(v3s16 p, s32 seed)
Definition: mapgen.cpp:237
DISABLE_CLASS_COPY(Mapgen)
virtual ~Mapgen()
Definition: mapgen.cpp:139
int mapgen_limit
Definition: mapgen.h:172
static void setDefaultSettings(Settings *settings)
Definition: mapgen.cpp:225
static Mapgen * createMapgen(MapgenType mgtype, MapgenParams *params, EmergeParams *emerge)
Definition: mapgen.cpp:166
void setLighting(u8 light, v3s16 nmin, v3s16 nmax)
Set light in entire area to fixed value.
Definition: mapgen.cpp:432
static u32 getBlockSeed2(v3s16 p, s32 seed)
Definition: mapgen.cpp:246
static void getMapgenNames(std::vector< const char * > *mgnames, bool include_hidden)
Definition: mapgen.cpp:217
biome_t * biomemap
Definition: mapgen.h:185
bool isLiquidHorizontallyFlowable(u32 vi, v3s16 em)
Definition: mapgen.cpp:338
static const char * getMapgenName(MapgenType mgtype)
Definition: mapgen.cpp:156
const NodeDefManager * ndef
Definition: mapgen.h:181
void spreadLight(const v3s16 &nmin, const v3s16 &nmax)
Spread light in the given area.
Definition: mapgen.cpp:530
static MapgenParams * createMapgenParams(MapgenType mgtype)
Definition: mapgen.cpp:192
u32 blockseed
Definition: mapgen.h:183
void propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow)
Spread sunlight from the area above downwards.
Definition: mapgen.cpp:494
BiomeGen * biomegen
Definition: mapgen.h:188
bool generating
Definition: mapgen.h:174
void updateLiquid(UniqueQueue< v3s16 > *trans_liquid, v3s16 nmin, v3s16 nmax)
Definition: mapgen.cpp:371
v3s16 csize
Definition: mapgen.h:186
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:556
Definition: settings.h:124
Definition: container.h:41
#define MAX_MAP_GENERATION_LIMIT
Definition: constants.h:69
core::vector2d< s16 > v2s16
Definition: irr_v2d.h:27
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
static LightingParams params
Definition: light.cpp:40
GenNotifyType
Definition: mapgen.h:71
@ GENNOTIFY_CUSTOM
Definition: mapgen.h:79
@ GENNOTIFY_LARGECAVE_END
Definition: mapgen.h:77
@ GENNOTIFY_DECORATION
Definition: mapgen.h:78
@ GENNOTIFY_LARGECAVE_BEGIN
Definition: mapgen.h:76
@ GENNOTIFY_CAVE_END
Definition: mapgen.h:75
@ NUM_GENNOTIFY_TYPES
Definition: mapgen.h:80
@ GENNOTIFY_TEMPLE
Definition: mapgen.h:73
@ GENNOTIFY_DUNGEON
Definition: mapgen.h:72
@ GENNOTIFY_CAVE_BEGIN
Definition: mapgen.h:74
MapgenType
Definition: mapgen.h:117
@ MAPGEN_V6
Definition: mapgen.h:125
@ MAPGEN_INVALID
Definition: mapgen.h:126
@ MAPGEN_FLAT
Definition: mapgen.h:122
@ MAPGEN_V5
Definition: mapgen.h:121
@ MAPGEN_CARPATHIAN
Definition: mapgen.h:120
@ MAPGEN_SINGLENODE
Definition: mapgen.h:124
@ MAPGEN_V7
Definition: mapgen.h:118
@ MAPGEN_VALLEYS
Definition: mapgen.h:119
@ MAPGEN_FRACTAL
Definition: mapgen.h:123
FlagDesc flagdesc_mapgen[]
Definition: mapgen.cpp:55
std::pair< s16, s16 > get_mapgen_edges(s16 mapgen_limit, s16 chunksize)
Definition: mapgen.cpp:1135
MapgenObject
Definition: mapgen.h:62
@ MGOBJ_HEATMAP
Definition: mapgen.h:66
@ MGOBJ_HUMIDMAP
Definition: mapgen.h:67
@ MGOBJ_GENNOTIFY
Definition: mapgen.h:68
@ MGOBJ_VMANIP
Definition: mapgen.h:63
@ MGOBJ_HEIGHTMAP
Definition: mapgen.h:64
@ MGOBJ_BIOMEMAP
Definition: mapgen.h:65
u16 biome_t
Definition: mapgen.h:41
#define MAPGEN_DEFAULT
Definition: mapgen.h:30
FlagDesc flagdesc_gennotify[]
Definition: mapgen.cpp:65
u16 content_t
Definition: mapnode.h:37
std::unordered_map< std::string, std::string > StringMap
Definition: string.h:78
Definition: mg_biome.h:85
GenNotifyType type
Definition: mapgen.h:86
u32 id
Definition: mapgen.h:88
v3s16 pos
Definition: mapgen.h:87
virtual ~MapgenParams()
Definition: mapgen.cpp:1066
BiomeParams * bparams
Definition: mapgen.h:142
virtual void setDefaultSettings(Settings *settings)
Definition: mapgen.h:150
u32 flags
Definition: mapgen.h:139
s16 mapgen_edge_max
Definition: mapgen.h:145
u64 seed
Definition: mapgen.h:135
s16 mapgen_edge_min
Definition: mapgen.h:144
s16 water_level
Definition: mapgen.h:136
virtual void writeParams(Settings *settings) const
Definition: mapgen.cpp:1108
s16 mapgen_limit
Definition: mapgen.h:137
MapgenType mgtype
Definition: mapgen.h:133
virtual void readParams(const Settings *settings)
Definition: mapgen.cpp:1072
bool m_mapgen_edges_calculated
Definition: mapgen.h:155
s32 getSpawnRangeMax()
Definition: mapgen.cpp:1122
s16 chunksize
Definition: mapgen.h:134
u32 spflags
Definition: mapgen.h:140
static std::string p(std::string path)
Definition: test_filesys.cpp:64