Lua Voxel Manipulators: Move get_data() to reading section
This commit is contained in:
parent
ed13adf35f
commit
6f9af6f0fd
@ -36,7 +36,6 @@ an LVM like so:
|
|||||||
{% highlight lua %}
|
{% highlight lua %}
|
||||||
local vm = minetest.get_voxel_manip()
|
local vm = minetest.get_voxel_manip()
|
||||||
local emin, emax = vm:read_from_map(pos1, pos2)
|
local emin, emax = vm:read_from_map(pos1, pos2)
|
||||||
local data = vm:get_data() -- node type
|
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
An LVM may not read exactly the area you tell it to, for performance reasons.
|
An LVM may not read exactly the area you tell it to, for performance reasons.
|
||||||
@ -45,16 +44,21 @@ which stand for *emerged min pos* and *emerged max pos*. An LVM will load the ar
|
|||||||
it contains for you - whether that involves loading from memory, from disk, or
|
it contains for you - whether that involves loading from memory, from disk, or
|
||||||
calling the map generator.
|
calling the map generator.
|
||||||
|
|
||||||
`get_data()` returns a flat array where each entry represents the type of a
|
|
||||||
particular node. You can get param2 and lighting data using the methods
|
|
||||||
`get_light_data()` and `get_param2_data()`. The index for the flat arrays
|
|
||||||
returned are exactly the same.
|
|
||||||
|
|
||||||
## Reading Nodes
|
## Reading Nodes
|
||||||
|
|
||||||
You'll need to use `emin` and `emax` to work out where a node is in the data of
|
To read the types of nodes at particular positions, you'll need to use `get_data()`.
|
||||||
an LVM. There's a helper class called `VoxelArea` which handles the calculation
|
`get_data()` returns a flat array where each entry represents the type of a
|
||||||
for you:
|
particular node.
|
||||||
|
|
||||||
|
{% highlight lua %}
|
||||||
|
local data = vm:get_data()
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
You can get param2 and lighting data using the methods `get_light_data()` and `get_param2_data()`.
|
||||||
|
|
||||||
|
You'll need to use `emin` and `emax` to work out where a node is in the flat arrays
|
||||||
|
given by the above methods. There's a helper class called `VoxelArea` which handles
|
||||||
|
the calculation for you:
|
||||||
|
|
||||||
{% highlight lua %}
|
{% highlight lua %}
|
||||||
local a = VoxelArea:new{
|
local a = VoxelArea:new{
|
||||||
|
Loading…
Reference in New Issue
Block a user