Mapgen objects

A mapgen object is a construct used in map generation. Mapgen objects can be used by an `on_generate` callback to speed up operations by avoiding unnecessary recalculations; these can be retrieved using the `minetest.get_mapgen_object` function. If the requested Mapgen object is unavailable, or `get_mapgen_object` was called outside of an `on_generate` callback, `nil` is returned.

voxelmanip
This returns three values; the `VoxelManip` object to be used, minimum and maximum emerged position, in that order. All mapgens support this object. Currently the emerged positions contain a mapblock outside the field of minp and maxp in every direction.

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 mapping requested generation notification types to arrays of positions at which the corresponding generated structures are located at within the current chunk. To set the capture of positions of interest to be recorded on generate, use `minetest.set_gen_notify`.

Possible fields of the table returned are:


 * `dungeon`
 * `temple`
 * `cave_begin`
 * `cave_end`
 * `large_cave_begin`
 * `large_cave_end`
 * `decoration`

Decorations have a key in the format of `"decoration#id"`, where `id` is the numeric unique decoration ID.