Beds: Check for buildable_to for bottom half
authorAuke Kok <sofar@foo-projects.org>
Thu, 31 Mar 2016 14:21:40 +0000 (07:21 -0700)
committerparamat <mat.gregory@virginmedia.com>
Mon, 4 Apr 2016 04:39:06 +0000 (05:39 +0100)
We properly checked top half already, just not the top half
target location.

Assure both checked positions are not unknown nodes.

Fixes #991

mods/beds/api.lua

index e2dd7edf56342bd1ffd3fb4a13ee40e6ef625350..53d4e488fe1d4cd76a4265af7bf4fa96940479c8 100644 (file)
@@ -59,6 +59,11 @@ function beds.register_bed(name, def)
                                return itemstack
                        end
 
+                       local def = minetest.registered_nodes[minetest.get_node(pos).name]
+                       if not def or not def.buildable_to then
+                               return itemstack
+                       end
+
                        local dir = minetest.dir_to_facedir(placer:get_look_dir())
                        local botpos = vector.add(pos, minetest.facedir_to_dir(dir))
 
@@ -68,7 +73,8 @@ function beds.register_bed(name, def)
                                return itemstack
                        end
 
-                       if not minetest.registered_nodes[minetest.get_node(botpos).name].buildable_to then
+                       local botdef = minetest.registered_nodes[minetest.get_node(botpos).name]
+                       if not botdef or not botdef.buildable_to then
                                return itemstack
                        end