]> git.lizzy.rs Git - signs_lib.git/commitdiff
allow locked and all steel signs to hang from ceiling
authorVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>
Sun, 15 Sep 2019 05:26:05 +0000 (01:26 -0400)
committerVanessa Dannenberg <vanessa.e.dannenberg@gmail.com>
Sun, 15 Sep 2019 05:47:43 +0000 (01:47 -0400)
api.lua
standard_signs.lua
textures/signs_lib_hangers.png

diff --git a/api.lua b/api.lua
index e23f741153fbbdca1d619e11565923892be5ddc9..7b34cdf9d1ea163fab401f57a4247da951931012 100644 (file)
--- a/api.lua
+++ b/api.lua
@@ -798,16 +798,18 @@ function signs_lib.register_sign(name, rdef)
                local hdef = table.copy(def)
                hdef.paramtype2 = "facedir"
 
-               hdef.selection_box = rdef.selection_box or signs_lib.make_selection_boxes(35, 32, false, 0, 3, -18.5, true)
-               hdef.node_box = rdef.node_box or rdef.selection_box or hdef.selection_box
+               local hcbox = signs_lib.make_selection_boxes(35, 32, false, 0, 3, -18.5, true)
+
+               hdef.selection_box = rdef.hanging_selection_box or hcbox
+               hdef.node_box = rdef.hanging_node_box or rdef.hanging_selection_box or hcbox
 
                hdef.groups.not_in_creative_inventory = 1
                hdef.tiles[3] = "signs_lib_hangers.png"
-               hdef.mesh = string.gsub(hdef.mesh, ".obj$", "_hanging.obj")
+               hdef.mesh = string.gsub(string.gsub(hdef.mesh, "_facedir.obj", ".obj"), ".obj$", "_hanging.obj")
                hdef.on_rotate = nil
 
                if hdef.entity_info then
-                       hdef.entity_info.mesh = string.gsub(hdef.entity_info.mesh, ".obj$", "_hanging.obj")
+                       hdef.entity_info.mesh = string.gsub(string.gsub(hdef.entity_info.mesh, "_facedir.obj", ".obj"), ".obj$", "_hanging.obj")
                        hdef.entity_info.yaw = signs_lib.standard_yaw
                end
 
index 5ecc9f4daa4067936ded287d6f06780b7bd74b31..dca41b42e41df9fe15699fdb64348526dab5dd5a 100644 (file)
@@ -21,7 +21,8 @@ signs_lib.register_sign("default:sign_wall_steel", {
        groups = signs_lib.standard_steel_groups,
        sounds = signs_lib.standard_steel_sign_sounds,
        locked = true,
-       entity_info = "standard"
+       entity_info = "standard",
+       allow_hanging = true,
 })
 
 minetest.register_alias("signs:sign_hanging", "default:sign_wall_wood_hanging")
index 04d74a9359e059cf15e6bb7b47ac581dd5688e51..3099c54980f2c6b95e3fa0ec5dcecffcb5901add 100644 (file)
Binary files a/textures/signs_lib_hangers.png and b/textures/signs_lib_hangers.png differ