Mapgen objects¶
A mapgen object is a construct used in map generation. Mapgen objects can be
used by an on_generated callback to speed up operations by avoiding
unnecessary recalculations, these can be retrieved using the
core.get_mapgen_object() function. If the requested Mapgen object is
unavailable, or get_mapgen_object() was called outside of an on_generated
callback, nil is returned.
The following Mapgen objects are currently available:
voxelmanip¶
This returns three values; the VoxelManip object to be used, minimum and
maximum emerged position, in that order. All mapgens support this object.
heightmap¶
Returns an array containing the y coordinates of the ground levels of nodes in the most recently generated chunk by the current mapgen.
biomemap¶
Returns an array containing the biome IDs of nodes in the most recently generated chunk by the current mapgen.
heatmap¶
Returns an array containing the temperature values of nodes in the most recently generated chunk by the current mapgen.
humiditymap¶
Returns an array containing the humidity values of nodes in the most recently generated chunk by the current mapgen.
gennotify¶
Returns a table. You need to announce your interest in a specific
field by calling core.set_gen_notify() before map generation happens.
- key = string: generation notification type
- value = list of positions (usually)
- Exceptions are denoted in the listing below.
Available generation notification types:
dungeon: bottom center position of dungeon roomstemple: as above but for desert temples (mgv6 only)cave_begincave_endlarge_cave_beginlarge_cave_endcustom: data originating from Mapgen environment (Lua API)- This is a table.
- key = user-defined ID (string)
- value = arbitrary Lua value
decoration#id: decorations- (see below)
Decorations have a key in the format of "decoration#id", where id is the
numeric unique decoration ID as returned by core.get_decoration_id().
For example, decoration#123.
The returned positions are the ground surface 'place_on' nodes, not the decorations themselves. A 'simple' type decoration is often 1 node above the returned position and possibly displaced by 'place_offset_y'.