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",
39 sounds = signs_lib.standard_wood_sign_sounds,
41 on_rightclick = signs_lib.construct_sign,
42 on_construct = signs_lib.construct_sign,
43 on_destruct = signs_lib.destruct_sign,
44 on_receive_fields = signs_lib.receive_fields,
45 on_punch = signs_lib.update_sign,
46 on_rotate = signs_lib.wallmounted_rotate,
47 number_of_lines = signs_lib.standard_lines,
48 horiz_scaling = signs_lib.standard_hscale,
49 vert_scaling = signs_lib.standard_vscale,
50 line_spacing = signs_lib.standard_lspace,
51 font_size = signs_lib.standard_fsize,
52 x_offset = signs_lib.standard_xoffs,
53 y_offset = signs_lib.standard_yoffs,
54 chars_per_line = signs_lib.standard_cpl,
56 mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
57 yaw = signs_lib.wallmounted_yaw
59 drop = "default:sign_wall_wood"
61 table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood"..onpole)
63 minetest.register_node(":default:sign_wall_steel"..onpole, {
64 description = "Steel wall sign",
66 sunlight_propagates = true,
67 paramtype2 = "wallmounted",
71 mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
73 "signs_lib_sign_wall_steel.png",
74 "signs_lib_sign_wall_steel_edges.png",
77 inventory_image = "signs_lib_sign_wall_steel_inv.png",
78 wield_image = "signs_lib_sign_wall_steel_inv.png",
80 sounds = signs_lib.standard_steel_sign_sounds,
82 on_rightclick = signs_lib.construct_sign,
83 on_construct = signs_lib.construct_sign,
84 on_destruct = signs_lib.destruct_sign,
85 after_place_node = function(pos, placer, itemstack, pointed_thing)
86 signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, true)
88 on_receive_fields = signs_lib.receive_fields,
89 on_punch = signs_lib.update_sign,
90 can_dig = signs_lib.can_modify,
91 on_rotate = signs_lib.wallmounted_rotate,
92 number_of_lines = signs_lib.standard_lines,
93 horiz_scaling = signs_lib.standard_hscale,
94 vert_scaling = signs_lib.standard_vscale,
95 line_spacing = signs_lib.standard_lspace,
96 font_size = signs_lib.standard_fsize,
97 x_offset = signs_lib.standard_xoffs,
98 y_offset = signs_lib.standard_yoffs,
99 chars_per_line = signs_lib.standard_cpl,
101 mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
102 yaw = signs_lib.wallmounted_yaw
104 drop = "default:sign_wall_steel"
106 table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_steel"..onpole)