17#define MAPGEN_DEFAULT MAPGEN_V7
18#define MAPGEN_DEFAULT_NAME "v7"
22#define MG_DUNGEONS 0x04
24#define MG_DECORATIONS 0x20
77 const std::set<std::string> *notify_on_custom);
81 bool setCustom(
const std::string &key,
const std::string &value);
82 void getEvents(std::map<std::string, std::vector<v3s16>> &map)
const;
186 std::vector<s16> &floors, std::vector<s16> &ceilings);
206 bool propagate_shadow =
true);
240 static void getMapgenNames(std::vector<const char *> *mgnames,
bool include_hidden);
254 const v3s16 &
p, u8 light);
Definition mg_biome.h:212
StringMap m_notify_custom
Definition mapgen.h:91
bool addEvent(GenNotifyType type, v3s16 pos)
Definition mapgen.cpp:970
GenerateNotifier()=default
void clearEvents()
Definition mapgen.cpp:1031
const StringMap & getCustomData() const
Definition mapgen.h:83
void getEvents(std::map< std::string, std::vector< v3s16 > > &map) const
Definition mapgen.cpp:1016
bool shouldNotifyOn(GenNotifyType type) const
Definition mapgen.h:93
const std::set< std::string > * m_notify_on_custom
Definition mapgen.h:89
bool addDecorationEvent(v3s16 pos, u32 deco_id)
Definition mapgen.cpp:984
bool setCustom(const std::string &key, const std::string &value)
Definition mapgen.cpp:1002
std::vector< GenNotifyEvent > m_notify_events
Definition mapgen.h:90
const std::set< u32 > * m_notify_on_deco_ids
Definition mapgen.h:88
u32 m_notify_on
Definition mapgen.h:87
MapgenBasic(int mapgenid, MapgenParams *params, EmergeParams *emerge)
Definition mapgen.cpp:564
int zstride_1u1d
Definition mapgen.h:307
float cavern_limit
Definition mapgen.h:316
content_t c_lava_source
Definition mapgen.h:301
float cavern_taper
Definition mapgen.h:317
int zstride_1d
Definition mapgen.h:306
content_t c_stone
Definition mapgen.h:298
virtual void dustTopNodes()
Definition mapgen.cpp:769
Noise * noise_filler_depth
Definition mapgen.h:291
virtual bool generateCavernsNoise(s16 max_stone_y)
Definition mapgen.cpp:878
content_t c_water_source
Definition mapgen.h:299
virtual void generateDungeons(s16 max_stone_y)
Definition mapgen.cpp:890
v3s16 full_node_min
Definition mapgen.h:295
NoiseParams np_cave1
Definition mapgen.h:311
int ystride
Definition mapgen.h:304
int zstride
Definition mapgen.h:305
NoiseParams np_dungeons
Definition mapgen.h:314
int large_cave_num_min
Definition mapgen.h:321
virtual void generateCavesRandomWalk(s16 max_stone_y, s16 large_cave_ymax)
Definition mapgen.cpp:847
s16 dungeon_ymin
Definition mapgen.h:325
u32 spflags
Definition mapgen.h:309
s16 dungeon_ymax
Definition mapgen.h:326
virtual ~MapgenBasic()
Definition mapgen.cpp:617
content_t c_river_water_source
Definition mapgen.h:300
v3s16 node_min
Definition mapgen.h:293
int large_cave_num_max
Definition mapgen.h:322
BiomeManager * m_bmgr
Definition mapgen.h:289
int small_cave_num_min
Definition mapgen.h:319
float cave_width
Definition mapgen.h:315
v3s16 full_node_max
Definition mapgen.h:296
int small_cave_num_max
Definition mapgen.h:320
v3s16 node_max
Definition mapgen.h:294
float large_cave_flooded
Definition mapgen.h:323
virtual void generateCavesNoiseIntersection(s16 max_stone_y)
Definition mapgen.cpp:833
float cavern_threshold
Definition mapgen.h:318
NoiseParams np_cave2
Definition mapgen.h:312
content_t c_cobble
Definition mapgen.h:302
s16 large_cave_depth
Definition mapgen.h:324
NoiseParams np_cavern
Definition mapgen.h:313
virtual void generateBiomes()
Definition mapgen.cpp:623
s16 findGroundLevel(v2s16 p2d, s16 ymin, s16 ymax)
Definition mapgen.cpp:238
void getSurfaces(v2s16 p2d, s16 ymin, s16 ymax, std::vector< s16 > &floors, std::vector< s16 > &ceilings)
Definition mapgen.cpp:293
virtual MapgenType getType() const
Definition mapgen.h:178
void updateHeightmap(v3s16 nmin, v3s16 nmax)
Definition mapgen.cpp:276
s16 findLiquidSurface(v2s16 p2d, s16 ymin, s16 ymax)
Definition mapgen.cpp:256
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:429
GenerateNotifier gennotify
Definition mapgen.h:171
s16 * heightmap
Definition mapgen.h:165
EmergeParams * m_emerge
Definition mapgen.h:160
s32 seed
Definition mapgen.h:150
virtual int getGroundLevelAtPoint(v2s16 p)
Definition mapgen.h:225
virtual int getSpawnLevelAtPoint(v2s16 p)
Definition mapgen.h:232
virtual void makeChunk(BlockMakeData *data)
Definition mapgen.h:224
MMVManip * vm
Definition mapgen.h:157
u32 flags
Definition mapgen.h:153
int water_level
Definition mapgen.h:151
void calcLighting(v3s16 nmin, v3s16 nmax, v3s16 full_nmin, v3s16 full_nmax, bool propagate_shadow=true)
Run all lighting calculations.
Definition mapgen.cpp:466
static MapgenType getMapgenType(const std::string &mgname)
Definition mapgen.cpp:125
bool isLiquidHorizontallyFlowable(u32 vi, v3s32 em)
Definition mapgen.cpp:320
static u32 getBlockSeed(v3s16 p, s32 seed)
Definition mapgen.cpp:219
DISABLE_CLASS_COPY(Mapgen)
virtual ~Mapgen()
Definition mapgen.cpp:119
int mapgen_limit
Definition mapgen.h:152
static void setDefaultSettings(Settings *settings)
Definition mapgen.cpp:207
static Mapgen * createMapgen(MapgenType mgtype, MapgenParams *params, EmergeParams *emerge)
Definition mapgen.cpp:148
void setLighting(u8 light, v3s16 nmin, v3s16 nmax)
Set light in entire area to fixed value.
Definition mapgen.cpp:414
static u32 getBlockSeed2(v3s16 p, s32 seed)
Definition mapgen.cpp:228
static void getMapgenNames(std::vector< const char * > *mgnames, bool include_hidden)
Definition mapgen.cpp:199
biome_t * biomemap
Definition mapgen.h:166
static const char * getMapgenName(MapgenType mgtype)
Definition mapgen.cpp:136
const NodeDefManager * ndef
Definition mapgen.h:161
void spreadLight(const v3s16 &nmin, const v3s16 &nmax)
Spread light in the given area.
Definition mapgen.cpp:512
static MapgenParams * createMapgenParams(MapgenType mgtype)
Definition mapgen.cpp:174
u32 blockseed
Definition mapgen.h:164
void propagateSunlight(v3s16 nmin, v3s16 nmax, bool propagate_shadow)
Spread sunlight from the area above downwards.
Definition mapgen.cpp:476
BiomeGen * biomegen
Definition mapgen.h:170
bool generating
Definition mapgen.h:154
void updateLiquid(UniqueQueue< v3s16 > *trans_liquid, v3s16 nmin, v3s16 nmax)
Definition mapgen.cpp:353
v3s16 csize
Definition mapgen.h:168
This class is for getting the actual properties of nodes from their content ID.
Definition nodedef.h:509
Definition settings.h:110
Definition container.h:26
#define MAX_MAP_GENERATION_LIMIT
Definition constants.h:54
static const char * settings[]
Definition fontengine.cpp:26
core::vector2d< s16 > v2s16
Definition irr_v2d.h:12
core::vector3d< s32 > v3s32
Definition irr_v3d.h:15
core::vector3d< s16 > v3s16
Definition irr_v3d.h:13
const FlagDesc flagdesc_mapgen[]
Definition mapgen.cpp:35
GenNotifyType
Definition mapgen.h:53
@ GENNOTIFY_CUSTOM
Definition mapgen.h:61
@ GENNOTIFY_LARGECAVE_END
Definition mapgen.h:59
@ GENNOTIFY_DECORATION
Definition mapgen.h:60
@ GENNOTIFY_LARGECAVE_BEGIN
Definition mapgen.h:58
@ GENNOTIFY_CAVE_END
Definition mapgen.h:57
@ NUM_GENNOTIFY_TYPES
Definition mapgen.h:62
@ GENNOTIFY_TEMPLE
Definition mapgen.h:55
@ GENNOTIFY_DUNGEON
Definition mapgen.h:54
@ GENNOTIFY_CAVE_BEGIN
Definition mapgen.h:56
MapgenType
Definition mapgen.h:99
@ MAPGEN_V6
Definition mapgen.h:107
@ MAPGEN_INVALID
Definition mapgen.h:108
@ MAPGEN_FLAT
Definition mapgen.h:104
@ MAPGEN_V5
Definition mapgen.h:103
@ MAPGEN_CARPATHIAN
Definition mapgen.h:102
@ MAPGEN_SINGLENODE
Definition mapgen.h:106
@ MAPGEN_V7
Definition mapgen.h:100
@ MAPGEN_VALLEYS
Definition mapgen.h:101
@ MAPGEN_FRACTAL
Definition mapgen.h:105
MapgenObject
Definition mapgen.h:44
@ MGOBJ_HEATMAP
Definition mapgen.h:48
@ MGOBJ_HUMIDMAP
Definition mapgen.h:49
@ MGOBJ_GENNOTIFY
Definition mapgen.h:50
@ MGOBJ_VMANIP
Definition mapgen.h:45
@ MGOBJ_HEIGHTMAP
Definition mapgen.h:46
@ MGOBJ_BIOMEMAP
Definition mapgen.h:47
u16 biome_t
Definition mapgen.h:28
#define MAPGEN_DEFAULT
Definition mapgen.h:17
std::pair< v3s16, v3s16 > get_mapgen_edges(s16 mapgen_limit, v3s16 chunksize)
Definition mapgen.cpp:1132
const FlagDesc flagdesc_gennotify[]
Definition mapgen.cpp:45
u16 content_t
Definition mapnode.h:21
std::unordered_map< std::string, std::string > StringMap
Definition string.h:66
GenNotifyType type
Definition mapgen.h:68
u32 id
Definition mapgen.h:70
v3s16 pos
Definition mapgen.h:69
virtual ~MapgenParams()
Definition mapgen.cpp:1043
BiomeParams * bparams
Definition mapgen.h:124
virtual void setDefaultSettings(Settings *settings)
Definition mapgen.h:129
u32 flags
Definition mapgen.h:121
u64 seed
Definition mapgen.h:117
static constexpr u32 MAX_CHUNK_VOLUME
Definition mapgen.h:134
s16 water_level
Definition mapgen.h:118
virtual void writeParams(Settings *settings) const
Definition mapgen.cpp:1104
s16 mapgen_limit
Definition mapgen.h:119
v3s16 chunksize
Definition mapgen.h:116
MapgenType mgtype
Definition mapgen.h:115
virtual void readParams(const Settings *settings)
Definition mapgen.cpp:1049
s32 getSpawnRangeMax()
Definition mapgen.cpp:1124
u32 spflags
Definition mapgen.h:122
static std::string p(std::string path)
Definition test_filesys.cpp:64