1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-01 17:38:41 +00:00

Make core.get_node_raw a public API

Closes #15317
This commit is contained in:
Erich Schubert 2024-10-25 21:24:22 +02:00 committed by sfan5
parent 81d62d01d1
commit 1b5f13a5f3
2 changed files with 7 additions and 5 deletions

View file

@ -739,16 +739,13 @@ core.noneitemdef_default = { -- This is used for the hand and unknown items
-- get_node implementation -- get_node implementation
-- --
local get_node_raw = core.get_node_raw
core.get_node_raw = nil
function core.get_node(pos) function core.get_node(pos)
local content, param1, param2 = get_node_raw(pos.x, pos.y, pos.z) local content, param1, param2 = core.get_node_raw(pos.x, pos.y, pos.z)
return {name = core.get_name_from_content_id(content), param1 = param1, param2 = param2} return {name = core.get_name_from_content_id(content), param1 = param1, param2 = param2}
end end
function core.get_node_or_nil(pos) function core.get_node_or_nil(pos)
local content, param1, param2, pos_ok = get_node_raw(pos.x, pos.y, pos.z) local content, param1, param2, pos_ok = core.get_node_raw(pos.x, pos.y, pos.z)
return pos_ok and return pos_ok and
{name = core.get_name_from_content_id(content), param1 = param1, param2 = param2} {name = core.get_name_from_content_id(content), param1 = param1, param2 = param2}
or nil or nil

View file

@ -6481,6 +6481,11 @@ Environment access
* `core.get_node_or_nil(pos)` * `core.get_node_or_nil(pos)`
* Same as `get_node` but returns `nil` for unloaded areas. * Same as `get_node` but returns `nil` for unloaded areas.
* Note that even loaded areas can contain "ignore" nodes. * Note that even loaded areas can contain "ignore" nodes.
* `core.get_node_raw(x, y, z)`
* Low-level API returning numbers, not tables
* Returns `content_id`, `param1`, `param2`, and `pos_ok`
* The `content_id` can be mapped to a node name via `core.get_name_from_content_id`
* If `pos_ok` is false, the node is not yet loaded and the `content_id` is that of "ignore" nodes
* `core.get_node_light(pos[, timeofday])` * `core.get_node_light(pos[, timeofday])`
* Gets the light value at the given position. Note that the light value * Gets the light value at the given position. Note that the light value
"inside" the node at the given position is returned, so you usually want "inside" the node at the given position is returned, so you usually want