]> git.lizzy.rs Git - signs_lib.git/blobdiff - standard_signs.lua
Locked Wood Signs
[signs_lib.git] / standard_signs.lua
index 2cbe18d33c21d47f526a85383980d301880f7575..82e885dce84dfe69678cc00371b3a14aae2651e9 100644 (file)
 -- Definitions for standard minetest_game wooden and steel wall signs
 
-for _, onpole in ipairs({"", "_onpole"}) do
+signs_lib.register_sign("default:sign_wall_wood", {
+       description = "Wooden wall sign",
+       inventory_image = "signs_lib_sign_wall_wooden_inv.png",
+       tiles = {
+               "signs_lib_sign_wall_wooden.png",
+               "signs_lib_sign_wall_wooden_edges.png",
+               -- items 3 - 5 are not set, so signs_lib will use its standard pole
+               -- mount, hanging, and yard sign stick textures.
+       },
+       locked = true,
+       entity_info = "standard",
+       allow_hanging = true,
+       allow_widefont = true,
+       allow_onpole = true,
+       allow_onpole_horizontal = true,
+       allow_yard = true
+})
 
-       local nci = nil
-       local on_rotate = signs_lib.wallmounted_rotate
-       local pole_mount_tex = nil
+signs_lib.register_sign("default:sign_wall_steel", {
+       description = "Steel wall sign",
+       inventory_image = "signs_lib_sign_wall_steel_inv.png",
+       tiles = {
+               "signs_lib_sign_wall_steel.png",
+               "signs_lib_sign_wall_steel_edges.png",
+               nil, -- not set, so it'll use the standard pole mount texture
+               nil, -- not set, so it'll use the standard hanging chains texture
+               "default_steel_block.png" -- for the yard sign's stick
+       },
+       groups = signs_lib.standard_steel_groups,
+       sounds = signs_lib.standard_steel_sign_sounds,
+       locked = true,
+       entity_info = "standard",
+       allow_hanging = true,
+       allow_widefont = true,
+       allow_onpole = true,
+       allow_onpole_horizontal = true,
+       allow_yard = true
+})
 
-       if onpole == "_onpole" then
-               nci = 1
-               on_rotate = nil
-               pole_mount_tex = "signs_lib_pole_mount.png" -- the metal straps on back, if needed
-       end
+minetest.register_alias("signs:sign_hanging",                   "default:sign_wood_hanging")
+minetest.register_alias("basic_signs:hanging_sign",             "default:sign_wood_hanging")
+minetest.register_alias("signs:sign_yard",                      "default:sign_wood_yard")
+minetest.register_alias("basic_signs:yard_sign",                "default:sign_wood_yard")
 
-       local wood_groups =  table.copy(signs_lib.standard_wood_groups)
-       wood_groups.not_in_creative_inventory = nci
-       local steel_groups =  table.copy(signs_lib.standard_steel_groups)
-       steel_groups.not_in_creative_inventory = nci
+minetest.register_alias("default:sign_wall_wood_onpole",        "default:sign_wood_onpole")
+minetest.register_alias("default:sign_wall_wood_onpole_horiz",  "default:sign_wood_onpole_horiz")
+minetest.register_alias("default:sign_wall_wood_hanging",       "default:sign_wood_hanging")
+minetest.register_alias("default:sign_wall_wood_yard",          "default:sign_wood_yard")
 
-       cbox = signs_lib.make_selection_boxes(35, 25, onpole)
+minetest.register_alias("default:sign_wall_steel_onpole",       "default:sign_steel_onpole")
+minetest.register_alias("default:sign_wall_steel_onpole_horiz", "default:sign_steel_onpole_horiz")
+minetest.register_alias("default:sign_wall_steel_hanging",      "default:sign_steel_hanging")
+minetest.register_alias("default:sign_wall_steel_yard",         "default:sign_steel_yard")
 
-       minetest.register_node(":default:sign_wall_wood"..onpole, {
-               description = "Wooden wall sign",
-               paramtype = "light",
-               sunlight_propagates = true,
-               paramtype2 = "wallmounted",
-               drawtype = "mesh",
-               node_box = cbox,
-               selection_box = cbox,
-               mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
-               tiles = {
-                       "signs_lib_sign_wall_wooden.png",
-                       "signs_lib_sign_wall_wooden_edges.png",
-                       pole_mount_tex
-               },
-               inventory_image = "signs_lib_sign_wall_wooden_inv.png",
-               wield_image = "signs_lib_sign_wall_wooden_inv.png",
-               groups = wood_groups,
-               default_color = "0",
-               on_construct = signs_lib.construct_sign,
-               on_destruct = signs_lib.destruct_sign,
-               on_receive_fields = signs_lib.receive_fields,
-               on_punch = signs_lib.update_sign,
-               on_rotate = on_rotate,
-               number_of_lines = signs_lib.standard_lines,
-               horiz_scaling = signs_lib.standard_hscale,
-               vert_scaling = signs_lib.standard_vscale,
-               line_spacing = signs_lib.standard_lspace,
-               font_size = signs_lib.standard_fsize,
-               x_offset = signs_lib.standard_xoffs,
-               y_offset = signs_lib.standard_yoffs,
-               chars_per_line = signs_lib.standard_cpl,
-               entity_info = {
-                       mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
-                       yaw = signs_lib.wallmounted_yaw
-               },
-               drop = "default:sign_wall_wood"
-       })
-       table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood"..onpole)
 
-       minetest.register_node(":default:sign_wall_steel"..onpole, {
-               description = "Steel wall sign",
-               paramtype = "light",
-               sunlight_propagates = true,
-               paramtype2 = "wallmounted",
-               drawtype = "mesh",
-               node_box = cbox,
-               selection_box = cbox,
-               mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
-               tiles = {
-                       "signs_lib_sign_wall_steel.png",
-                       "signs_lib_sign_wall_steel_edges.png",
-                       pole_mount_tex
-               },
-               inventory_image = "signs_lib_sign_wall_steel_inv.png",
-               wield_image = "signs_lib_sign_wall_steel_inv.png",
-               groups = wood_groups,
-               default_color = "0",
-               on_construct = signs_lib.construct_sign,
-               on_destruct = signs_lib.destruct_sign,
-               after_place_node = function(pos, placer, itemstack, pointed_thing)
-                       signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, true)
-               end,
-               on_receive_fields = signs_lib.receive_fields,
-               on_punch = signs_lib.update_sign,
-               can_dig = signs_lib.can_modify,
-               on_rotate = on_rotate,
-               number_of_lines = signs_lib.standard_lines,
-               horiz_scaling = signs_lib.standard_hscale,
-               vert_scaling = signs_lib.standard_vscale,
-               line_spacing = signs_lib.standard_lspace,
-               font_size = signs_lib.standard_fsize,
-               x_offset = signs_lib.standard_xoffs,
-               y_offset = signs_lib.standard_yoffs,
-               chars_per_line = signs_lib.standard_cpl,
-               entity_info = {
-                       mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
-                       yaw = signs_lib.wallmounted_yaw
-               },
-               drop = "default:sign_wall_steel"
-       })
-       table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_steel"..onpole)
-end
+table.insert(signs_lib.lbm_restore_nodes, "signs:sign_hanging")
+table.insert(signs_lib.lbm_restore_nodes, "basic_signs:hanging_sign")
+table.insert(signs_lib.lbm_restore_nodes, "signs:sign_yard")
+table.insert(signs_lib.lbm_restore_nodes, "basic_signs:yard_sign")
+table.insert(signs_lib.lbm_restore_nodes, "default:sign_wood_yard")
+table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood_yard")
+
+-- insert the old wood sign-on-fencepost into signs_lib's conversion LBM
+
+table.insert(signs_lib.old_fenceposts_with_signs, "signs:sign_post")
+signs_lib.old_fenceposts["signs:sign_post"] = "default:fence_wood"
+signs_lib.old_fenceposts_replacement_signs["signs:sign_post"] = "default:sign_wall_wood_onpole"