street_signs/signs_misc_generic.lua
Vanessa Dannenberg a428eef936 split signs.lua into multiple files by sign class
also sort the signs in each file by MUTCD number
2018-09-30 20:52:40 -04:00

301 lines
9.6 KiB
Lua

-- Misc./Generic signs
local S = street_signs.gettext
local cbox
for _, onpole in ipairs({"", "_onpole"}) do
local nci = nil
local on_rotate = street_signs.wallmounted_rotate
local pole_mount_tex = nil
if onpole == "_onpole" then
nci = 1
on_rotate = nil
pole_mount_tex = "street_signs_pole_mount.png"
end
cbox = street_signs.make_selection_boxes(36, 36, onpole)
minetest.register_node("street_signs:sign_warning_3_line"..onpole, {
description = "W3-4: Generic US diamond \"warning\" sign (3-line, yellow)",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_warning_36x36"..onpole..".obj",
tiles = { "street_signs_warning.png",
"street_signs_sign_edge.png",
pole_mount_tex
},
inventory_image = "street_signs_warning_3_line_inv.png",
wield_image = "street_signs_warning_3_line_inv.png",
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory = nci},
default_color = "0",
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
after_place_node = street_signs.after_place_node,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = on_rotate,
number_of_lines = 3,
horiz_scaling = 1.75,
vert_scaling = 1.75,
line_spacing = 1,
font_size = 15,
x_offset = 6,
y_offset = 19,
chars_per_line = 15,
entity_info = {
mesh = "street_signs_warning_36x36_entity"..onpole..".obj",
yaw = street_signs.wallmounted_yaw
},
drop = "street_signs:sign_warning_3_line"
})
minetest.register_node("street_signs:sign_warning_4_line"..onpole, {
description = "W23-2: Generic US diamond \"warning\" sign (4-line, yellow)",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_warning_36x36"..onpole..".obj",
tiles = { "street_signs_warning.png",
"street_signs_sign_edge.png",
pole_mount_tex
},
inventory_image = "street_signs_warning_4_line_inv.png",
wield_image = "street_signs_warning_4_line_inv.png",
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory = nci},
default_color = "0",
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
after_place_node = street_signs.after_place_node,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = on_rotate,
number_of_lines = 4,
horiz_scaling = 1.75,
vert_scaling = 1.75,
line_spacing = 1,
font_size = 15,
x_offset = 6,
y_offset = 25,
chars_per_line = 15,
entity_info = {
mesh = "street_signs_warning_36x36_entity"..onpole..".obj",
yaw = street_signs.wallmounted_yaw
},
drop = "street_signs:sign_warning_4_line"
})
minetest.register_node("street_signs:sign_warning_orange_3_line"..onpole, {
description = "W3-4: Generic US diamond \"warning\" sign (3-line, orange)",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_warning_36x36"..onpole..".obj",
tiles = { "street_signs_warning_orange.png",
"street_signs_sign_edge.png",
pole_mount_tex
},
inventory_image = "street_signs_warning_orange_3_line_inv.png",
wield_image = "street_signs_warning_orange_3_line_inv.png",
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory = nci},
default_color = "0",
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
after_place_node = street_signs.after_place_node,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = on_rotate,
number_of_lines = 3,
horiz_scaling = 1.75,
vert_scaling = 1.75,
line_spacing = 1,
font_size = 15,
x_offset = 6,
y_offset = 19,
chars_per_line = 15,
entity_info = {
mesh = "street_signs_warning_36x36_entity"..onpole..".obj",
yaw = street_signs.wallmounted_yaw
},
drop = "street_signs:sign_warning_orange_3_line"
})
minetest.register_node("street_signs:sign_warning_orange_4_line"..onpole, {
description = "W23-2: Generic US diamond \"warning\" sign (4-line, orange)",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_warning_36x36"..onpole..".obj",
tiles = { "street_signs_warning_orange.png",
"street_signs_sign_edge.png",
pole_mount_tex
},
inventory_image = "street_signs_warning_orange_4_line_inv.png",
wield_image = "street_signs_warning_orange_4_line_inv.png",
groups = {choppy=2, dig_immediate=2, not_in_creative_inventory = nci},
default_color = "0",
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
after_place_node = street_signs.after_place_node,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = on_rotate,
number_of_lines = 4,
horiz_scaling = 1.75,
vert_scaling = 1.75,
line_spacing = 1,
font_size = 15,
x_offset = 6,
y_offset = 25,
chars_per_line = 15,
entity_info = {
mesh = "street_signs_warning_36x36_entity"..onpole..".obj",
yaw = street_signs.wallmounted_yaw
},
drop = "street_signs:sign_warning_orange_4_line"
})
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_warning_3_line"..onpole)
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_warning_4_line"..onpole)
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_warning_orange_3_line"..onpole)
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_warning_orange_4_line"..onpole)
end
for _, c in ipairs(street_signs.big_sign_colors) do
cbox = {
type = "wallmounted",
wall_side = { -0.5, -0.4375, -0.4375, -0.375, 0.4375, 1.4375 }
}
local color = c[1]
local defc = c[2]
minetest.register_node("street_signs:sign_highway_small_"..color, {
description = "Small generic highway sign (3-line, "..color..")",
inventory_image = "street_signs_highway_small_"..color.."_inv.png",
wield_image = "street_signs_highway_small_"..color.."_inv.png",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_highway_small.obj",
tiles = { "street_signs_highway_small_"..color..".png" },
default_color = defc,
groups = {choppy=2, dig_immediate=2},
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = street_signs.wallmounted_rotate,
number_of_lines = 3,
horiz_scaling = 2,
vert_scaling = 1.15,
line_spacing = 2,
font_size = 31,
x_offset = 9,
y_offset = 7,
chars_per_line = 22,
entity_info = {
mesh = "street_signs_highway_small_entity.obj",
yaw = street_signs.wallmounted_yaw
}
})
cbox = {
type = "wallmounted",
wall_side = { -0.5, -0.4375, -0.4375, -0.375, 1.4375, 1.4375 }
}
minetest.register_node("street_signs:sign_highway_medium_"..color, {
description = "Medium generic highway sign (5-line, "..color..")",
inventory_image = "street_signs_highway_medium_"..color.."_inv.png",
wield_image = "street_signs_highway_medium_"..color.."_inv.png",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_highway_medium.obj",
tiles = { "street_signs_highway_medium_"..color..".png" },
default_color = defc,
groups = {choppy=2, dig_immediate=2},
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = street_signs.wallmounted_rotate,
number_of_lines = 6,
horiz_scaling = 2,
vert_scaling = 0.915,
line_spacing = 2,
font_size = 31,
x_offset = 7,
y_offset = 10,
chars_per_line = 22,
entity_info = {
mesh = "street_signs_highway_medium_entity.obj",
yaw = street_signs.wallmounted_yaw
}
})
cbox = {
type = "wallmounted",
wall_side = { -0.5, -0.4375, -0.4375, -0.375, 1.4375, 2.4375 }
}
minetest.register_node("street_signs:sign_highway_large_"..color, {
description = "Large generic highway sign (5-line, "..color..")",
inventory_image = "street_signs_highway_large_"..color.."_inv.png",
wield_image = "street_signs_highway_large_"..color.."_inv.png",
paramtype = "light",
sunlight_propagates = true,
paramtype2 = "wallmounted",
drawtype = "mesh",
node_box = cbox,
selection_box = cbox,
mesh = "street_signs_highway_large.obj",
tiles = { "street_signs_highway_large_"..color..".png" },
default_color = defc,
groups = {choppy=2, dig_immediate=2},
on_construct = street_signs.construct_sign,
on_destruct = street_signs.destruct_sign,
on_receive_fields = street_signs.receive_fields,
on_punch = street_signs.update_sign,
on_rotate = street_signs.wallmounted_rotate,
number_of_lines = 6,
horiz_scaling = 2,
vert_scaling = 0.915,
line_spacing = 2,
font_size = 31,
x_offset = 12,
y_offset = 11,
chars_per_line = 25,
entity_info = {
mesh = "street_signs_highway_large_entity.obj",
yaw = street_signs.wallmounted_yaw
}
})
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_highway_small_"..color)
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_highway_medium_"..color)
table.insert(street_signs.lbm_restore_nodes, "street_signs:sign_highway_large_"..color)
end