1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-12-24 17:50:37 +01:00

[signs_lib] Update

- Fix #444
This commit is contained in:
LeMagnesium 2016-05-20 20:56:11 +02:00
parent 48d535a894
commit a10312ad63
3 changed files with 27 additions and 14 deletions

View File

@ -0,0 +1 @@
Adds signs with readable text.

View File

@ -116,7 +116,7 @@ signs_lib.gettext = S
-- the list of standard sign nodes -- the list of standard sign nodes
signs_lib.sign_node_list = { signs_lib.sign_node_list = {
"default:sign_wall", "default:sign_wall_wood",
"signs:sign_yard", "signs:sign_yard",
"signs:sign_hanging", "signs:sign_hanging",
"signs:sign_wall_green", "signs:sign_wall_green",
@ -130,6 +130,17 @@ signs_lib.sign_node_list = {
"locked_sign:sign_wall_locked" "locked_sign:sign_wall_locked"
} }
local default_sign, default_sign_image
-- Default sign was renamed in 0.4.14. Support both & old versions.
if minetest.registered_nodes["default:sign_wall_wood"] then
default_sign = "default:sign_wall_wood"
default_sign_image = "default_sign_wood.png"
else
default_sign = "default:sign_wall"
default_sign_image = "default_sign_wall.png"
end
--table copy --table copy
function signs_lib.table_copy(t) function signs_lib.table_copy(t)
@ -501,7 +512,7 @@ signs_lib.update_sign = function(pos, fields, owner)
elseif signnode.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] sign_info = signs_lib.hanging_sign_model.textpos[minetest.get_node(pos).param2 + 1]
elseif string.find(signnode.name, "sign_wall") then elseif string.find(signnode.name, "sign_wall") then
if signnode.name == "default:sign_wall" if signnode.name == default_sign
or signnode.name == "locked_sign:sign_wall_locked" then or signnode.name == "locked_sign:sign_wall_locked" then
sign_info = signs_lib.regular_wall_sign_model.textpos[minetest.get_node(pos).param2 + 1] sign_info = signs_lib.regular_wall_sign_model.textpos[minetest.get_node(pos).param2 + 1]
else else
@ -570,13 +581,13 @@ function signs_lib.determine_sign_type(itemstack, placer, pointed_thing, locked)
local pt_name = minetest.get_node(under).name local pt_name = minetest.get_node(under).name
local signname = itemstack:get_name() local signname = itemstack:get_name()
if fences_with_sign[pt_name] and signname == "default:sign_wall" then if fences_with_sign[pt_name] and signname == default_sign then
minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir}) minetest.add_node(under, {name = fences_with_sign[pt_name], param2 = fdir})
elseif wdir == 0 and signname == "default:sign_wall" then elseif wdir == 0 and signname == default_sign then
minetest.add_node(above, {name = "signs:sign_hanging", param2 = fdir}) minetest.add_node(above, {name = "signs:sign_hanging", param2 = fdir})
elseif wdir == 1 and signname == "default:sign_wall" then elseif wdir == 1 and signname == default_sign then
minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir}) minetest.add_node(above, {name = "signs:sign_yard", param2 = fdir})
elseif signname ~= "default:sign_wall" elseif signname ~= default_sign
and signname ~= "locked_sign:sign_wall_locked" then -- it's a metal wall sign. and signname ~= "locked_sign:sign_wall_locked" then -- it's a metal wall sign.
minetest.add_node(above, {name = signname, param2 = fdir}) minetest.add_node(above, {name = signname, param2 = fdir})
else -- it must be a default or locked wooden wall sign else -- it must be a default or locked wooden wall sign
@ -616,10 +627,10 @@ function signs_lib.receive_fields(pos, formname, fields, sender, lock)
end end
end end
minetest.register_node(":default:sign_wall", { minetest.register_node(":"..default_sign, {
description = S("Sign"), description = S("Sign"),
inventory_image = "default_sign_wall.png", inventory_image = default_sign_image,
wield_image = "default_sign_wall.png", wield_image = default_sign_image,
node_placement_prediction = "", node_placement_prediction = "",
sunlight_propagates = true, sunlight_propagates = true,
paramtype = "light", paramtype = "light",
@ -659,7 +670,7 @@ minetest.register_node(":signs:sign_yard", {
}, },
tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"}, tiles = {"signs_top.png", "signs_bottom.png", "signs_side.png", "signs_side.png", "signs_back.png", "signs_front.png"},
groups = {choppy=2, dig_immediate=2}, groups = {choppy=2, dig_immediate=2},
drop = "default:sign_wall", drop = default_sign,
on_construct = function(pos) on_construct = function(pos)
signs_lib.construct_sign(pos) signs_lib.construct_sign(pos)
@ -694,7 +705,7 @@ minetest.register_node(":signs:sign_hanging", {
"signs_hanging_front.png" "signs_hanging_front.png"
}, },
groups = {choppy=2, dig_immediate=2}, groups = {choppy=2, dig_immediate=2},
drop = "default:sign_wall", drop = default_sign,
on_construct = function(pos) on_construct = function(pos)
signs_lib.construct_sign(pos) signs_lib.construct_sign(pos)
@ -728,7 +739,7 @@ minetest.register_node(":signs:sign_post", {
drop = { drop = {
max_items = 2, max_items = 2,
items = { items = {
{ items = { "default:sign_wall" }}, { items = { default_sign }},
{ items = { "default:fence_wood" }}, { items = { "default:fence_wood" }},
}, },
}, },
@ -909,7 +920,7 @@ function signs_lib.register_fence_with_sign(fencename, fencewithsignname)
node.name = fencename node.name = fencename
minetest.add_node(pos, node) minetest.add_node(pos, node)
end end
def_sign.drop = "default:sign_wall" def_sign.drop = default_sign
minetest.register_node(":"..fencename, def) minetest.register_node(":"..fencename, def)
minetest.register_node(":"..fencewithsignname, def_sign) minetest.register_node(":"..fencewithsignname, def_sign)
table.insert(signs_lib.sign_node_list, fencewithsignname) table.insert(signs_lib.sign_node_list, fencewithsignname)
@ -950,7 +961,7 @@ minetest.register_craft({
minetest.register_craft({ minetest.register_craft({
output = "locked_sign:sign_wall_locked", output = "locked_sign:sign_wall_locked",
recipe = { recipe = {
{"default:sign_wall"}, {default_sign},
{"default:steel_ingot"}, {"default:steel_ingot"},
}, },
}) })

1
mods/signs_lib/mod.conf Normal file
View File

@ -0,0 +1 @@
name = signs_lib