Difference between revisions of "Mapgen objects"

From Minetest Developer Wiki
Jump to navigation Jump to search
Line 8: Line 8:
 
This returns three values; the `VoxelManip` object to be used, minimum and maximum
 
This returns three values; the `VoxelManip` object to be used, minimum and maximum
 
emerged position, in that order. All mapgens support this object.
 
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 ===
 
=== heightmap ===

Revision as of 20:07, 1 September 2015

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.

Mbox important.png This article is incomplete.
Please help expand this article to include more useful information.