]> git.lizzy.rs Git - signs_lib.git/blob - standard_signs.lua
fix 'dummy' formspec images (the hacky way)
[signs_lib.git] / standard_signs.lua
1 -- Definitions for standard minetest_game wooden and steel wall signs
2
3 for _, onpole in ipairs({"", "_onpole"}) do
4
5         local nci = nil
6         local on_rotate = signs_lib.wallmounted_rotate
7         local pole_mount_tex = nil
8
9         if onpole == "_onpole" then
10                 nci = 1
11                 on_rotate = nil
12                 pole_mount_tex = "signs_lib_pole_mount.png" -- the metal straps on back, if needed
13         end
14
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
19
20         cbox = signs_lib.make_selection_boxes(35, 25, onpole)
21
22         minetest.register_node(":default:sign_wall_wood"..onpole, {
23                 description = "Wooden wall sign",
24                 paramtype = "light",
25                 sunlight_propagates = true,
26                 paramtype2 = "wallmounted",
27                 drawtype = "mesh",
28                 node_box = cbox,
29                 selection_box = cbox,
30                 mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
31                 tiles = {
32                         "signs_lib_sign_wall_wooden.png",
33                         "signs_lib_sign_wall_wooden_edges.png",
34                         pole_mount_tex
35                 },
36                 inventory_image = "signs_lib_sign_wall_wooden_inv.png",
37                 wield_image = "signs_lib_sign_wall_wooden_inv.png",
38                 groups = wood_groups,
39                 default_color = "0",
40                 on_rightclick = signs_lib.construct_sign,
41                 on_construct = signs_lib.construct_sign,
42                 on_destruct = signs_lib.destruct_sign,
43                 on_receive_fields = signs_lib.receive_fields,
44                 on_punch = signs_lib.update_sign,
45                 on_rotate = signs_lib.wallmounted_rotate,
46                 number_of_lines = signs_lib.standard_lines,
47                 horiz_scaling = signs_lib.standard_hscale,
48                 vert_scaling = signs_lib.standard_vscale,
49                 line_spacing = signs_lib.standard_lspace,
50                 font_size = signs_lib.standard_fsize,
51                 x_offset = signs_lib.standard_xoffs,
52                 y_offset = signs_lib.standard_yoffs,
53                 chars_per_line = signs_lib.standard_cpl,
54                 entity_info = {
55                         mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
56                         yaw = signs_lib.wallmounted_yaw
57                 },
58                 drop = "default:sign_wall_wood"
59         })
60         table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_wood"..onpole)
61
62         minetest.register_node(":default:sign_wall_steel"..onpole, {
63                 description = "Steel wall sign",
64                 paramtype = "light",
65                 sunlight_propagates = true,
66                 paramtype2 = "wallmounted",
67                 drawtype = "mesh",
68                 node_box = cbox,
69                 selection_box = cbox,
70                 mesh = "signs_lib_standard_wall_sign"..onpole..".obj",
71                 tiles = {
72                         "signs_lib_sign_wall_steel.png",
73                         "signs_lib_sign_wall_steel_edges.png",
74                         pole_mount_tex
75                 },
76                 inventory_image = "signs_lib_sign_wall_steel_inv.png",
77                 wield_image = "signs_lib_sign_wall_steel_inv.png",
78                 groups = wood_groups,
79                 default_color = "0",
80                 on_rightclick = signs_lib.construct_sign,
81                 on_construct = signs_lib.construct_sign,
82                 on_destruct = signs_lib.destruct_sign,
83                 after_place_node = function(pos, placer, itemstack, pointed_thing)
84                         signs_lib.after_place_node(pos, placer, itemstack, pointed_thing, true)
85                 end,
86                 on_receive_fields = signs_lib.receive_fields,
87                 on_punch = signs_lib.update_sign,
88                 can_dig = signs_lib.can_modify,
89                 on_rotate = signs_lib.wallmounted_rotate,
90                 number_of_lines = signs_lib.standard_lines,
91                 horiz_scaling = signs_lib.standard_hscale,
92                 vert_scaling = signs_lib.standard_vscale,
93                 line_spacing = signs_lib.standard_lspace,
94                 font_size = signs_lib.standard_fsize,
95                 x_offset = signs_lib.standard_xoffs,
96                 y_offset = signs_lib.standard_yoffs,
97                 chars_per_line = signs_lib.standard_cpl,
98                 entity_info = {
99                         mesh = "signs_lib_standard_wall_sign_entity"..onpole..".obj",
100                         yaw = signs_lib.wallmounted_yaw
101                 },
102                 drop = "default:sign_wall_steel"
103         })
104         table.insert(signs_lib.lbm_restore_nodes, "default:sign_wall_steel"..onpole)
105 end