Reinstate nil check in on_place_bucket.

* Oops, nil checks on registered_node[name] were erroneously optimized
  away, risking crashes.  Reinstate those checks.
This commit is contained in:
kabou 2022-02-21 17:01:37 +01:00
parent a0b5e4dd0b
commit af132cc523

View file

@ -169,7 +169,7 @@ local function on_place_bucket(itemstack, user, pointed_thing, def)
local undernode = get_node(pointed_thing.under)
local abovenode = get_node(pointed_thing.above)
if registered_nodes[undernode.name].buildable_to or get_item_group(undernode.name, "cauldron") == 1 then
if registered_nodes[undernode.name] and registered_nodes[undernode.name].buildable_to or get_item_group(undernode.name, "cauldron") == 1 then
local result, take_bucket = get_extra_check(def.extra_check, pointed_thing.under, user)
if result then
local node_place = get_node_place(def.source_place, pointed_thing.under)
@ -190,7 +190,7 @@ local function on_place_bucket(itemstack, user, pointed_thing, def)
end
end
return get_bucket_drop(itemstack, user, take_bucket)
elseif registered_nodes[abovenode.name].buildable_to or get_item_group(abovenode.name, "cauldron") == 1 then
elseif registered_nodes[abovenode.name] and registered_nodes[abovenode.name].buildable_to or get_item_group(abovenode.name, "cauldron") == 1 then
local result, take_bucket = get_extra_check(def.extra_check, pointed_thing.above, user)
if result then
local node_place = get_node_place(def.source_place, pointed_thing.above)