add green and yellow wall signs
(intended for traffic signage or similar) Rework related textures. Use steel ingots and green, white, black, yellow dyes to craft. Can also use "sheet metal" from my fork of Zeg9's steel mod.
|
@ -484,13 +484,16 @@ signs_lib.update_sign = function(pos, fields)
|
|||
|
||||
-- if there is no entity
|
||||
local sign_info
|
||||
if minetest.get_node(pos).name == "signs:sign_yard" then
|
||||
local signnode = minetest.get_node(pos)
|
||||
if signnode.name == "signs:sign_yard" then
|
||||
sign_info = signs_lib.yard_sign_model.textpos[minetest.get_node(pos).param2 + 1]
|
||||
elseif minetest.get_node(pos).name == "signs:sign_hanging" then
|
||||
elseif signnode.name == "signs:sign_hanging" then
|
||||
sign_info = signs_lib.hanging_sign_model.textpos[minetest.get_node(pos).param2 + 1]
|
||||
elseif minetest.get_node(pos).name == "default:sign_wall" then
|
||||
elseif signnode.name == "default:sign_wall"
|
||||
or signnode.name == "signs:sign_wall_green"
|
||||
or signnode.name == "signs:sign_wall_yellow" then
|
||||
sign_info = signs_lib.wall_sign_model.textpos[minetest.get_node(pos).param2 + 1]
|
||||
else --if minetest.get_node(pos).name == "signs:sign_post" then
|
||||
else -- ...it must be a sign on a fence post.
|
||||
sign_info = signs_lib.sign_post_model.textpos[minetest.get_node(pos).param2 + 1]
|
||||
end
|
||||
if sign_info == nil then
|
||||
|
@ -553,19 +556,22 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing)
|
|||
local sign_info
|
||||
local pt_name = minetest.get_node(under).name
|
||||
print(dump(pt_name))
|
||||
local signname = itemstack:get_name()
|
||||
|
||||
if fences_with_sign[pt_name] then
|
||||
if fences_with_sign[pt_name] and signname == "default:sign_wall" then
|
||||
minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir})
|
||||
sign_info = signs_lib.sign_post_model.textpos[fdir + 1]
|
||||
|
||||
elseif wdir == 0 then
|
||||
elseif wdir == 0 and signname == "default:sign_wall" then
|
||||
minetest.add_node(above, {name = "signs:sign_hanging", param2 = fdir})
|
||||
sign_info = signs_lib.hanging_sign_model.textpos[fdir + 1]
|
||||
elseif wdir == 1 then
|
||||
|
||||
elseif wdir == 1 and signname == "default:sign_wall" then
|
||||
minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir})
|
||||
sign_info = signs_lib.yard_sign_model.textpos[fdir + 1]
|
||||
|
||||
else
|
||||
minetest.add_node(above, {name = "default:sign_wall", param2 = fdir})
|
||||
minetest.add_node(above, {name = signname, param2 = fdir})
|
||||
sign_info = signs_lib.wall_sign_model.textpos[fdir + 1]
|
||||
end
|
||||
|
||||
|
@ -714,6 +720,78 @@ minetest.register_node(":signs:sign_post", {
|
|||
},
|
||||
})
|
||||
|
||||
minetest.register_node(":signs:sign_wall_green", {
|
||||
description = S("Sign (green, metal)"),
|
||||
inventory_image = "signs_green_inv.png",
|
||||
wield_image = "signs_green_inv.png",
|
||||
node_placement_prediction = "",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = signs_lib.wall_sign_model.nodebox,
|
||||
tiles = {
|
||||
"signs_green_top.png",
|
||||
"signs_green_bottom.png",
|
||||
"signs_green_sides.png",
|
||||
"signs_green_sides.png",
|
||||
"signs_back_metal.png",
|
||||
"signs_green_front.png"
|
||||
},
|
||||
groups = sign_groups,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return signs_lib.determine_sign_type(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
signs_lib.construct_sign(pos)
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
signs_lib.destruct_sign(pos)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
signs_lib.receive_fields(pos, formname, fields, sender)
|
||||
end,
|
||||
on_punch = function(pos, node, puncher)
|
||||
signs_lib.update_sign(pos)
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_node(":signs:sign_wall_yellow", {
|
||||
description = S("Sign (yellow, metal)"),
|
||||
inventory_image = "signs_yellow_inv.png",
|
||||
wield_image = "signs_yellow_inv.png",
|
||||
node_placement_prediction = "",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
paramtype2 = "facedir",
|
||||
drawtype = "nodebox",
|
||||
node_box = signs_lib.wall_sign_model.nodebox,
|
||||
tiles = {
|
||||
"signs_yellow_top.png",
|
||||
"signs_yellow_bottom.png",
|
||||
"signs_yellow_sides.png",
|
||||
"signs_yellow_sides.png",
|
||||
"signs_back_metal.png",
|
||||
"signs_yellow_front.png"
|
||||
},
|
||||
groups = sign_groups,
|
||||
on_place = function(itemstack, placer, pointed_thing)
|
||||
return signs_lib.determine_sign_type(itemstack, placer, pointed_thing)
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
signs_lib.construct_sign(pos)
|
||||
end,
|
||||
on_destruct = function(pos)
|
||||
signs_lib.destruct_sign(pos)
|
||||
end,
|
||||
on_receive_fields = function(pos, formname, fields, sender)
|
||||
signs_lib.receive_fields(pos, formname, fields, sender)
|
||||
end,
|
||||
on_punch = function(pos, node, puncher)
|
||||
signs_lib.update_sign(pos)
|
||||
end,
|
||||
})
|
||||
|
||||
local signs_text_on_activate
|
||||
|
||||
signs_text_on_activate = function(self)
|
||||
|
@ -811,6 +889,40 @@ minetest.register_alias("homedecor:fence_wood_with_sign", "signs:sign_post")
|
|||
|
||||
signs_lib.register_fence_with_sign("default:fence_wood", "signs:sign_post")
|
||||
|
||||
-- craft recipes for the green and yellow signs
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "signs:sign_wall_green 4",
|
||||
recipe = {
|
||||
{ "dye:dark_green", "dye:white", "dye:dark_green" },
|
||||
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "signs:sign_wall_green 2",
|
||||
recipe = {
|
||||
{ "dye:dark_green", "dye:white", "dye:dark_green" },
|
||||
{ "steel:sheet_metal", "steel:sheet_metal", "steel:sheet_metal" }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "signs:sign_wall_yellow 4",
|
||||
recipe = {
|
||||
{ "dye:yellow", "dye:black", "dye:yellow" },
|
||||
{ "default:steel_ingot", "default:steel_ingot", "default:steel_ingot" }
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft( {
|
||||
output = "signs:sign_wall_yellow 2",
|
||||
recipe = {
|
||||
{ "dye:yellow", "dye:black", "dye:yellow" },
|
||||
{ "steel:sheet_metal", "steel:sheet_metal", "steel:sheet_metal" }
|
||||
},
|
||||
})
|
||||
|
||||
if minetest.setting_get("log_mods") then
|
||||
minetest.log("action", S("signs loaded"))
|
||||
end
|
||||
|
|
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 118 B |
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 95 B |
Before Width: | Height: | Size: 127 B After Width: | Height: | Size: 118 B |
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 93 B After Width: | Height: | Size: 89 B |
Before Width: | Height: | Size: 95 B After Width: | Height: | Size: 95 B |
Before Width: | Height: | Size: 117 B After Width: | Height: | Size: 98 B |
Before Width: | Height: | Size: 133 B After Width: | Height: | Size: 120 B |
Before Width: | Height: | Size: 121 B After Width: | Height: | Size: 111 B |
Before Width: | Height: | Size: 96 B After Width: | Height: | Size: 94 B |
Before Width: | Height: | Size: 100 B After Width: | Height: | Size: 95 B |