mirror of
https://github.com/Uberi/Minetest-WorldEdit.git
synced 2024-09-27 07:00:17 +02:00
Ignore unknown nodes when loading in saves
This commit is contained in:
parent
b90eeb1e68
commit
b07d7d7a92
|
@ -241,6 +241,7 @@ end
|
||||||
|
|
||||||
--- Loads the nodes represented by string `value` at position `origin_pos`.
|
--- Loads the nodes represented by string `value` at position `origin_pos`.
|
||||||
-- @return The number of nodes deserialized.
|
-- @return The number of nodes deserialized.
|
||||||
|
local registered_nodes = minetest.registered_nodes
|
||||||
function worldedit.deserialize(origin_pos, value)
|
function worldedit.deserialize(origin_pos, value)
|
||||||
local nodes = load_schematic(value)
|
local nodes = load_schematic(value)
|
||||||
if not nodes then return nil end
|
if not nodes then return nil end
|
||||||
|
@ -252,11 +253,13 @@ function worldedit.deserialize(origin_pos, value)
|
||||||
local origin_x, origin_y, origin_z = origin_pos.x, origin_pos.y, origin_pos.z
|
local origin_x, origin_y, origin_z = origin_pos.x, origin_pos.y, origin_pos.z
|
||||||
local add_node, get_meta = minetest.add_node, minetest.get_meta
|
local add_node, get_meta = minetest.add_node, minetest.get_meta
|
||||||
for i, entry in ipairs(nodes) do
|
for i, entry in ipairs(nodes) do
|
||||||
entry.x, entry.y, entry.z = origin_x + entry.x, origin_y + entry.y, origin_z + entry.z
|
if registered_nodes[entry.name] then
|
||||||
-- Entry acts as both position and node
|
entry.x, entry.y, entry.z = origin_x + entry.x, origin_y + entry.y, origin_z + entry.z
|
||||||
add_node(entry, entry)
|
-- Entry acts as both position and node
|
||||||
if entry.meta then
|
add_node(entry, entry)
|
||||||
get_meta(entry):from_table(entry.meta)
|
if entry.meta then
|
||||||
|
get_meta(entry):from_table(entry.meta)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return #nodes
|
return #nodes
|
||||||
|
|
Loading…
Reference in New Issue
Block a user