summaryrefslogtreecommitdiff
path: root/item_transport.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2014-08-24 11:51:43 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2014-08-24 11:51:43 -0400
commitbbc530a0676fbf2c06f55b3cd8ed13638eea2be3 (patch)
tree5ffd2f513889e27b359f5f919ca604ffee954b5d /item_transport.lua
parent42a364b81896bda1f469176e67de8085f062028f (diff)
downloadpipeworks-bbc530a0676fbf2c06f55b3cd8ed13638eea2be3.tar
pipeworks-bbc530a0676fbf2c06f55b3cd8ed13638eea2be3.tar.gz
pipeworks-bbc530a0676fbf2c06f55b3cd8ed13638eea2be3.tar.bz2
pipeworks-bbc530a0676fbf2c06f55b3cd8ed13638eea2be3.tar.xz
pipeworks-bbc530a0676fbf2c06f55b3cd8ed13638eea2be3.zip
fix undefined node crash
Diffstat (limited to 'item_transport.lua')
-rwxr-xr-xitem_transport.lua23
1 files changed, 13 insertions, 10 deletions
diff --git a/item_transport.lua b/item_transport.lua
index 02ef5f8..c378d6e 100755
--- a/item_transport.lua
+++ b/item_transport.lua
@@ -253,17 +253,20 @@ local function go_next(pos, velocity, stack)
for _, vect in ipairs(can_go) do
local npos = vector.add(pos, vect)
local node = minetest.get_node(npos)
- local tubedevice = minetest.get_item_group(node.name, "tubedevice")
- local tube_def = minetest.registered_nodes[node.name].tube
- local tube_priority = (tube_def and tube_def.priority) or 100
- if tubedevice > 0 and tube_priority >= max_priority then
- if not tube_def or not tube_def.can_insert or
- tube_def.can_insert(npos, node, stack, vect) then
- if tube_priority > max_priority then
- max_priority = tube_priority
- next_positions = {}
+ local reg_node = minetest.registered_nodes[node.name]
+ if reg_node then
+ local tube_def = reg_node.tube
+ local tubedevice = minetest.get_item_group(node.name, "tubedevice")
+ local tube_priority = (tube_def and tube_def.priority) or 100
+ if tubedevice > 0 and tube_priority >= max_priority then
+ if not tube_def or not tube_def.can_insert or
+ tube_def.can_insert(npos, node, stack, vect) then
+ if tube_priority > max_priority then
+ max_priority = tube_priority
+ next_positions = {}
+ end
+ next_positions[#next_positions + 1] = {pos = npos, vect = vect}
end
- next_positions[#next_positions + 1] = {pos = npos, vect = vect}
end
end
end