1 -- Definitions for standard minetest_game wooden and steel wall signs
3 for _, onpole in ipairs({"", "_onpole"}) do
6 local on_rotate = signs_lib.wallmounted_rotate
7 local pole_mount_tex = nil
9 if onpole == "_onpole" then
12 pole_mount_tex = "signs_lib_pole_mount.png" -- the metal straps on back, if needed
15 local wood_groups = table.copy(signs_lib.standard_wood_groups)
16 wood_groups.not_in_creative_inventory = nci
17 local steel_groups = table.copy(signs_lib.standard_steel_groups)
18 steel_groups.not_in_creative_inventory = nci
20 cbox = signs_lib.make_selection_boxes(35, 25, onpole)
22 minetest.register_node(":default:sign_wall_wood"..onpole, {
23 description = "Wooden wall sign",
25 sunlight_propagates = true,
26 paramtype2 = "wallmounted",
30 mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
32 "signs_lib_sign_wall_wooden.png",
33 "signs_lib_sign_wall_wooden_edges.png",
36 inventory_image = "signs_lib_sign_wall_wooden_inv.png",
37 wield_image = "signs_lib_sign_wall_wooden_inv.png",
40 on_construct = signs_lib.construct_sign,
41 on_destruct = signs_lib.destruct_sign,
42 on_receive_fields = signs_lib.receive_fields,
43 on_punch = signs_lib.update_sign,
44 on_rotate = on_rotate,
45 number_of_lines = signs_lib.standard_lines,
46 horiz_scaling = signs_lib.standard_hscale,
47 vert_scaling = signs_lib.standard_vscale,
48 line_spacing = signs_lib.standard_lspace,
49 font_size = signs_lib.standard_fsize,
50 x_offset = signs_lib.standard_xoffs,
51 y_offset = signs_lib.standard_yoffs,
52 chars_per_line = signs_lib.standard_cpl,
54 mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
55 yaw = signs_lib.wallmounted_yaw
57 drop = "default:sign_wall_wood"
59 table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood"..onpole)
61 minetest.register_node(":default:sign_wall_steel"..onpole, {
62 description = "Steel wall sign",
64 sunlight_propagates = true,
65 paramtype2 = "wallmounted",
69 mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
71 "signs_lib_sign_wall_steel.png",
72 "signs_lib_sign_wall_steel_edges.png",
75 inventory_image = "signs_lib_sign_wall_steel_inv.png",
76 wield_image = "signs_lib_sign_wall_steel_inv.png",
79 on_construct = signs_lib.construct_sign,
80 on_destruct = signs_lib.destruct_sign,
81 after_place_node = function(pos, placer, itemstack, pointed_thing)
82 signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, true)
84 on_receive_fields = signs_lib.receive_fields,
85 on_punch = signs_lib.update_sign,
86 can_dig = signs_lib.can_modify,
87 on_rotate = on_rotate,
88 number_of_lines = signs_lib.standard_lines,
89 horiz_scaling = signs_lib.standard_hscale,
90 vert_scaling = signs_lib.standard_vscale,
91 line_spacing = signs_lib.standard_lspace,
92 font_size = signs_lib.standard_fsize,
93 x_offset = signs_lib.standard_xoffs,
94 y_offset = signs_lib.standard_yoffs,
95 chars_per_line = signs_lib.standard_cpl,
97 mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
98 yaw = signs_lib.wallmounted_yaw
100 drop = "default:sign_wall_steel"
102 table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_steel"..onpole)