-- 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"