Release 2017-08-26

This commit is contained in:
Pierre-Yves Rollo 2017-08-26 14:12:38 +02:00
parent d59c475162
commit c179f44ba4
74 changed files with 2778 additions and 324 deletions

@ -8,3 +8,25 @@ This modpack provides mods with dynamic display. Mods are :
- **signs**: A mod providing signs and direction signs displaying text;
- **signs_road**: A mod providing road signs displaying text;
- **steles**: A mod providing stone steles with text;
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
## Changelog
###2017-08-26
- Changed signs from wallmounted to facedir to improve textures and make it possible to use screwdriver.
**IMPORTANT** : Map will be updated to change to new nodes but inventory items will turn into "Unknown items" and have to be re-crafted.
- Intllib support added with french translation (whole modpack, thanks to fat115) ;
- Punch on nodes to update entity (signs, signs_road and steles). Usefull in case of /clearobjects ;
- Changed wooden direction sign textures (signs) ;
- Added back and side textures to all signs (road_signs) ;
- Added more sign types : White/yellow/green signs and direction signs (signs_road) ;

@ -8,4 +8,7 @@ This library's purpose is to ease creation of nodes with one or more displays on
**License**: LPGL
**API**: See API.md document please.
**API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/display_lib/API.md) document please.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.

@ -0,0 +1,2 @@
Code by Pierre-Yves Rollo (pyrollo)

@ -114,7 +114,6 @@ local function place_entities(pos)
local depth = clip_pos_prop(props.depth)
local height = clip_pos_prop(props.height)
local right = clip_pos_prop(props.right)
if not objrefs[entity_name] then
objrefs[entity_name] = minetest.add_entity(pos, entity_name)
end
@ -158,26 +157,30 @@ end
--- On_place callback for display_lib items. Does nothing more than preventing item
--- from being placed on ceiling or ground
function display_lib.on_place(itemstack, placer, pointed_thing)
local ndef = minetest.registered_nodes[itemstack.name]
local ndef = itemstack:get_definition()
local above = pointed_thing.above
local under = pointed_thing.under
local dir = {x = under.x - above.x,
y = under.y - above.y,
z = under.z - above.z}
if ndef and ndef.paramtype2 == "wallmounted" then
local wdir = minetest.dir_to_wallmounted(dir)
if ndef then
if ndef.paramtype2 == "wallmounted" then
if wdir == 0 or wdir == 1 then
dir = placer:get_look_dir()
dir.y = 0
wdir = minetest.dir_to_wallmounted(dir)
local wdir = minetest.dir_to_wallmounted(dir)
if wdir == 0 or wdir == 1 then
dir = placer:get_look_dir()
dir.y = 0
wdir = minetest.dir_to_wallmounted(dir)
end
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
else
return minetest.item_place(itemstack, placer, pointed_thing, minetest.dir_to_facedir(dir))
end
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
else
return minetest.item_place(itemstack, placer, pointed_thing)
end
end
--- On_construct callback for display_lib items. Creates entities and update them.
@ -196,7 +199,7 @@ end
-- On_rotate (screwdriver) callback for display_lib items. Prevents axis rotation and reorients entities.
function display_lib.on_rotate(pos, node, user, mode, new_param2)
if mode ~= screwdriver.ROTATE_FACE then return false end
if mode ~= 1 then return false end
local values = get_values(node)

@ -8,7 +8,7 @@ This library for font display on entities (to be used with display_lib for sign
(Font taken from VanessaE's homedecor/signs_lib, originally under WTFPL)
**API**: See API.md document please.
**API**: See [API.md](https://github.com/pyrollo/display_modpack/blob/master/font_lib/API.md) document please.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.

@ -1,2 +1,2 @@
Code by Pierre-Yves Rollo
Textures by Vanessa Ezekowitz
Code by Pierre-Yves Rollo (pyrollo)
Textures by Vanessa Ezekowitz (VanessaE)

@ -62,8 +62,7 @@ end
function font_lib.get_line_width(text)
local char
local width = 0
p=0
local p=0
while p < #text do
char, p = get_next_char(text, p)
@ -82,10 +81,8 @@ end
function font_lib.make_line_texture(text, texturew, x, y)
local char
local texture = ""
p=0
local p=0
while p < #text do
char, p = get_next_char(text, p)

@ -2,6 +2,8 @@
This mod provides clocks that display real ingame time.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: display_lib, default
**License**: Code under LGPL, textures under CC-BY-SA

@ -0,0 +1,4 @@
Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -19,11 +19,11 @@
--]]
ontime_clocks = {}
ontime_clocks.path = minetest.get_modpath("ontime_clocks")
ontime_clocks.name = minetest.get_current_modname()
ontime_clocks.path = minetest.get_modpath(ontime_clocks.name)
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
local S, NS = dofile(ontime_clocks.path.."/intllib.lua")
ontime_clocks.intllib = S
dofile(ontime_clocks.path.."/common.lua")

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n"
"POT-Creation-Date: 2017-08-26 11:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

@ -2,20 +2,14 @@
This mod provides various signs with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib
**License**: Code under LGPL, Textures and models under CC-BY-SA
## Recipes
**Sign** (overrides default sign)
W W W
W W W
- S -
W = Wooden Plank, S = Stick
**Poster**
P P -
@ -26,7 +20,7 @@ P = Paper
Poster displays only title, much more text can be read by right-clicking on it.
**Wooden direction sigh**
**Wooden direction sign**
W W W
W W -

@ -30,7 +30,7 @@ function signs.set_formspec(pos)
if maxlines == 1 then
formspec = "size[6,3]"..
"field[0.5,0.7;5.5,1;display_text;"..F("Displayed text")..";${display_text}]"..
"field[0.5,0.7;5.5,1;display_text;"..F("Text")..";${display_text}]"..
"button_exit[2,2;2,1;ok;"..F("Write").."]"
else
local extralabel = ""
@ -39,7 +39,7 @@ function signs.set_formspec(pos)
end
formspec = "size[6,4]"..
"textarea[0.5,0.7;5.5,2;display_text;"..F("Displayed text")..""..extralabel..";${display_text}]"..
"textarea[0.5,0.7;5.5,2;display_text;"..F("Text")..""..extralabel..";${display_text}]"..
"button_exit[2,3;2,1;ok;"..F("Write").."]"
end
@ -50,7 +50,7 @@ end
function signs.on_receive_fields(pos, formname, fields, player)
if not minetest.is_protected(pos, player:get_player_name()) then
local meta = minetest.get_meta(pos)
if fields and fields.ok then
if fields and (fields.ok or fields.key_enter) then
meta:set_string("display_text", fields.display_text)
meta:set_string("infotext", "\""..fields.display_text.."\"")
display_lib.update_entities(pos)
@ -61,63 +61,71 @@ end
-- On place callback for direction signs
-- (chooses which sign according to look direction)
function signs.on_place_direction(itemstack, placer, pointed_thing)
local above = pointed_thing.above
local under = pointed_thing.under
local wdir = minetest.dir_to_wallmounted(
{x = under.x - above.x,
y = under.y - above.y,
z = under.z - above.z})
local name = itemstack:get_name()
local ndef = minetest.registered_nodes[name]
local dir = placer:get_look_dir()
local bdir = {x = pointed_thing.under.x - pointed_thing.above.x,
y = pointed_thing.under.y - pointed_thing.above.y,
z = pointed_thing.under.z - pointed_thing.above.z}
local pdir = placer:get_look_dir()
if wdir == 0 or wdir == 1 then
wdir = minetest.dir_to_wallmounted({x=dir.x, y=0, z=dir.z})
local ndir, test
if ndef.paramtype2 == "facedir" then
if bdir.x == 0 and bdir.z == 0 then
-- Ceiling or floor pointed (facedir chosen from player dir)
ndir = minetest.dir_to_facedir({x=pdir.x, y=0, z=pdir.z})
else
-- Wall pointed
ndir = minetest.dir_to_facedir(bdir)
end
test = {[0]=-pdir.x, pdir.z, pdir.x, -pdir.z}
end
if ndef.paramtype2 == "wallmounted" then
ndir = minetest.dir_to_wallmounted(bdir)
if ndir == 0 or ndir == 1 then
-- Ceiling or floor
ndir = minetest.dir_to_wallmounted({x=pdir.x, y=0, z=pdir.z})
end
test = {0, pdir.z, -pdir.z, -pdir.x, pdir.x}
end
local name = itemstack:get_name()
-- Only for direction signs (ending with _right)
if name:sub(-string.len("_right")) == "_right" then
name = name:sub(1, -string.len("_right"))
local test = {0, dir.z, -dir.z, -dir.x, dir.x}
if test[wdir] > 0 then
itemstack:set_name(name.."left")
-- Only for direction signs
if ndef.signs_other_dir then
if test[ndir] > 0 then
itemstack:set_name(ndef.signs_other_dir)
end
itemstack = minetest.item_place(itemstack, placer, pointed_thing, wdir)
itemstack:set_name(name.."right")
itemstack = minetest.item_place(itemstack, placer, pointed_thing, ndir)
itemstack:set_name(name)
return itemstack
else
return minetest.item_place(itemstack, placer, pointed_thing, wdir)
return minetest.item_place(itemstack, placer, pointed_thing, ndir)
end
end
-- Screwdriver is no more usable for switching direction as on_rotate
-- callback is not called anymore for wallmounted nodes since
-- minetest_game commit of 24 dec 2015. Now we use right click.
function signs.on_right_click_direction(pos, node, player, itemstack, pointed_thing)
if not minetest.is_protected(pos, player:get_player_name()) then
local name
if node.name:sub(-string.len("_right")) == "_right" then
name = node.name:sub(1, -string.len("_right")).."left"
-- Handles screwdriver rotation. Direction is affected for direction signs
function signs.on_rotate(pos, node, player, mode, new_param2)
if mode == 2 then
local ndef = minetest.registered_nodes[node.name]
if ndef.signs_other_dir then
minetest.swap_node(pos, {name = ndef.signs_other_dir,
param1 = node.param1, param2 = node.param2})
display_lib.update_entities(pos)
end
if node.name:sub(-string.len("_left")) == "_left" then
name = node.name:sub(1, -string.len("_left")).."right"
end
if name then
minetest.swap_node(pos, {name = name, param1 = node.param1, param2 = node.param2})
end
end
return itemstack
else
display_lib.on_rotate(pos, node, user, mode, new_param2)
end
return false;
end
-- Generic callback for show_formspec displayed formspecs
-- Generic callback for show_formspec displayed formspecs of "sign" mod
minetest.register_on_player_receive_fields(function(player, formname, fields)
local found, _, mod, node_name, pos = formname:find("([%w_]+):([%w_]+)@(.+)")
if found then
if mod ~= 'signs' then return end
@ -134,24 +142,20 @@ function signs.register_sign(mod, name, model)
local fields = {
sunlight_propagates = true,
paramtype = "light",
paramtype2 = "wallmounted",
paramtype2 = "facedir",
drawtype = "nodebox",
node_box = {
type = "wallmounted",
wall_side = {-0.5, -model.height/2, -model.width/2,
-0.5 + model.depth, model.height/2, model.width/2},
wall_bottom = {-model.width/2, -0.5, -model.height/2,
model.width/2, -0.5 + model.depth, model.height/2},
wall_top = {-model.width/2, 0.5, -model.height/2,
model.width/2, 0.5 - model.depth, model.height/2},
type = "fixed",
fixed = {-model.width/2, -model.height/2, 0.5,
model.width/2, model.height/2, 0.5 - model.depth},
},
groups = {choppy=2, dig_immediate=2, attached_node=1},
groups = {choppy=2, dig_immediate=2},
sounds = default.node_sound_defaults(),
display_entities = {
["signs:text"] = {
on_display_update = font_lib.on_display_update,
depth = 0.499 - model.depth,
size = { x = 1, y = 1 },
size = { x = model.width, y = model.height },
resolution = { x = 64, y = 64 },
maxlines = 1,
},
@ -163,7 +167,9 @@ function signs.register_sign(mod, name, model)
display_lib.on_construct(pos)
end,
on_destruct = display_lib.on_destruct,
on_receive_fields = signs.on_receive_fields,
on_rotate = signs.on_rotate,
on_receive_fields = signs.on_receive_fields,
on_punch = function(pos, node, player, pointed_thing) display_lib.update_entities(pos) end,
}
-- Node fields override

55
signs/compatibility.lua Normal file

@ -0,0 +1,55 @@
--[[
signs mod for Minetest - Various signs with text displayed on
(c) Pierre-Yves Rollo
This file is part of signs.
signs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
signs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with signs. If not, see <http://www.gnu.org/licenses/>.
--]]
-- Wallmounted to facedir conversion
local wallmounted_to_facedir = {
[0]=1, -- Should not happend with signs
[1]=1, -- Should not happend with signs
[2]=1,
[3]=3,
[4]=0,
[5]=2
}
-- Nodes conversions
local convert_nodes = {
['signs:wooden_right'] = 'signs:wooden_right_sign',
['signs:wooden_left'] = 'signs:wooden_left_sign',
['signs:poster'] = 'signs:paper_poster'
}
local function compatibility_check(pos, node)
-- Old wallmounted modes to new facedir nodes conversion
node.name = convert_nodes[node.name]
if node.name then
node.param2 = wallmounted_to_facedir[node.param2]
display_lib.on_destruct(pos)
minetest.swap_node(pos, node)
display_lib.on_construct(pos)
end
end
minetest.register_lbm({ name = "signs:conpatibility_1",
nodenames = {"signs:wooden_right", "signs:wooden_left", "signs:poster"},
action = compatibility_check,
})

@ -1,2 +1,4 @@
Code and Models by Pierre-Yves Rollo
Textures by Pierre-Yves Rollo, except signs_default.png and signs_default_inventory.png by Kilbith
Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -1,5 +1,4 @@
default
intllib?
display_lib
font_lib
homedecor?
intllib?

@ -19,13 +19,18 @@
--]]
signs = {}
signs.path = minetest.get_modpath("signs")
signs.name = minetest.get_current_modname()
signs.path = minetest.get_modpath(signs.name)
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
local S, NS = dofile(signs.path.."/intllib.lua")
signs.intllib = S
dofile(signs.path.."/common.lua")
dofile(signs.path.."/nodes.lua")
dofile(signs.path.."/crafts.lua")
dofile(signs.path.."/compatibility.lua")

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n"
"POT-Creation-Date: 2017-08-26 13:20+0200\n"
"PO-Revision-Date: 2017-05-08 07:08+0200\n"
"Last-Translator: Peppy <peppy@twang-factory.com>\n"
"Language-Team: \n"
@ -17,9 +17,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n"
#: common.lua
msgid "Displayed text"
msgstr "Texte affiché"
#: common.lua nodes.lua
msgid "Text"
msgstr "Texte"
#: common.lua nodes.lua
msgid "Write"
@ -34,10 +34,6 @@ msgstr " (uniquement les %s premières lignes)"
msgid "Title"
msgstr "Titre"
#: nodes.lua
msgid "Text"
msgstr "Texte"
#: nodes.lua
msgid "Close"
msgstr "Fermer"
@ -48,8 +44,11 @@ msgstr "(Clic-droit pour afficher le texte entier)"
#: nodes.lua
msgid "Wooden direction sign"
msgstr "Panneau indicateur en bois"
msgstr "Panneau de direction en bois"
#: nodes.lua
msgid "Poster"
msgstr "Affiche"
#~ msgid "Textd"
#~ msgstr "Texte"

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n"
"POT-Creation-Date: 2017-08-26 13:20+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,8 +17,8 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: common.lua
msgid "Displayed text"
#: common.lua nodes.lua
msgid "Text"
msgstr ""
#: common.lua nodes.lua
@ -34,10 +34,6 @@ msgstr ""
msgid "Title"
msgstr ""
#: nodes.lua
msgid "Text"
msgstr ""
#: nodes.lua
msgid "Close"
msgstr ""

@ -1,17 +1,17 @@
# Blender v2.69 (sub 0) OBJ File: 'signs_dir_left.blend'
# Blender v2.76 (sub 0) OBJ File: 'signs_dir_right.blend'
# www.blender.org
mtllib signs_dir_left.mtl
mtllib signs_dir_right.mtl
o Plane
v -0.437500 -0.500000 -0.218750
v -0.437500 -0.500000 0.218750
v 0.312500 -0.500000 -0.218750
v 0.312500 -0.500000 0.218750
v 0.500000 -0.500000 0.000000
v -0.437500 -0.437500 -0.218750
v -0.437500 -0.437500 0.218750
v 0.312500 -0.437500 -0.218750
v 0.312500 -0.437500 0.218750
v 0.500000 -0.437500 0.000000
v -0.500000 0.218750 0.437500
v -0.500000 -0.218750 0.437500
v 0.250000 0.218750 0.437500
v 0.250000 -0.218750 0.437500
v 0.437500 -0.000000 0.437500
v -0.500000 0.218750 0.500000
v -0.500000 -0.218750 0.500000
v 0.250000 0.218750 0.500000
v 0.250000 -0.218750 0.500000
v 0.437500 -0.000000 0.500000
vt 0.062500 0.500000
vt 0.062500 0.937500
vt 0.812500 0.937500
@ -33,12 +33,19 @@ vt 0.062500 0.312500
vt 0.000000 0.000000
vt 0.000000 0.500000
vt 0.000000 0.937500
vn 0.000000 0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn 0.759300 0.650800 0.000000
vn 0.000000 1.000000 0.000000
vn -0.000000 -1.000000 0.000000
vn 0.759300 -0.650800 -0.000000
vn -1.000000 0.000000 0.000000
usemtl None
s off
f 2/1 1/2 3/3 5/4 4/5
f 7/6 9/7 10/8 8/9 6/10
f 3/11 8/12 10/13 5/14
f 1/2 6/15 8/16 3/3
f 4/5 9/7 7/6 2/1
f 5/17 10/18 9/10 4/19
f 2/1 7/20 6/21 1/2
f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1
f 7/6/2 9/7/2 10/8/2 8/9/2 6/10/2
f 3/11/3 8/12/3 10/13/3 5/14/3
f 1/2/4 6/15/4 8/16/4 3/3/4
f 4/5/5 9/7/5 7/6/5 2/1/5
f 5/17/6 10/18/6 9/10/6 4/19/6
f 2/1/7 7/20/7 6/21/7 1/2/7

@ -1,17 +1,17 @@
# Blender v2.76 (sub 0) OBJ File: 'signs_dir_right2.blend'
# Blender v2.76 (sub 0) OBJ File: 'signs_dir_left.blend'
# www.blender.org
mtllib signs_dir_right.mtl
mtllib signs_dir_left.mtl
o Plane
v 0.437500 -0.437500 -0.218750
v 0.437500 -0.437500 0.218750
v -0.312500 -0.437500 -0.218750
v -0.312500 -0.437500 0.218750
v -0.500000 -0.437500 0.000000
v 0.437500 -0.500000 -0.218750
v 0.437500 -0.500000 0.218750
v -0.312500 -0.500000 -0.218750
v -0.312500 -0.500000 0.218750
v -0.500000 -0.500000 0.000000
v 0.500000 -0.218750 0.437500
v 0.500000 0.218750 0.437500
v -0.250000 -0.218750 0.437500
v -0.250000 0.218750 0.437500
v -0.437500 -0.000000 0.437500
v 0.500000 -0.218750 0.500000
v 0.500000 0.218750 0.500000
v -0.250000 -0.218750 0.500000
v -0.250000 0.218750 0.500000
v -0.437500 -0.000000 0.500000
vt 0.062500 0.500000
vt 0.062500 0.937500
vt 0.812500 0.937500
@ -33,13 +33,13 @@ vt 0.062500 0.312500
vt 0.000000 0.000000
vt 0.000000 0.500000
vt 0.000000 0.937500
vn 0.000000 1.000000 0.000000
vn -0.000000 -1.000000 -0.000000
vn -0.759300 0.000000 -0.650800
vn -0.000000 -0.000000 -1.000000
vn 0.000000 0.000000 1.000000
vn -0.759300 0.000000 0.650800
vn 1.000000 0.000000 -0.000000
vn -0.000000 0.000000 -1.000000
vn 0.000000 -0.000000 1.000000
vn -0.759300 -0.650800 -0.000000
vn 0.000000 -1.000000 -0.000000
vn -0.000000 1.000000 0.000000
vn -0.759300 0.650800 0.000000
vn 1.000000 0.000000 0.000000
usemtl None
s off
f 2/1/1 1/2/1 3/3/1 5/4/1 4/5/1

@ -22,17 +22,20 @@ local S = signs.intllib
local F = function(...) return minetest.formspec_escape(S(...)) end
-- Poster specific formspec
local function on_rightclick_poster(pos, node, player)
local function on_rightclick_poster(pos, node, player, itemstack, pointed_thing)
local formspec
local meta = minetest.get_meta(pos)
if not minetest.is_protected(pos, player:get_player_name()) then
formspec =
"size[6.5,7.5]"..
"field[0.5,0.7;6,1;display_text;"..F("Title")..";"..minetest.formspec_escape(meta:get_string("display_text")).."]"..
"textarea[0.5,1.7;6,6;text;"..F("Text")..";"..minetest.formspec_escape(meta:get_string("text")).."]"..
"field[0.5,0.7;6,1;display_text;"..F("Title")..";"..
minetest.formspec_escape(meta:get_string("display_text")).."]"..
"textarea[0.5,1.7;6,6;text;"..F("Text")..";"..
minetest.formspec_escape(meta:get_string("text")).."]"..
"button_exit[2,7;2,1;ok;"..F("Write").."]"
minetest.show_formspec(player:get_player_name(),
"signs:poster@"..minetest.pos_to_string(pos),
node.name.."@"..minetest.pos_to_string(pos),
formspec)
else
formspec = "size[8,9]"..
@ -45,14 +48,14 @@ local function on_rightclick_poster(pos, node, player)
"",
formspec)
end
return itemstack
end
-- Poster specific on_receive_fields callback
local function on_receive_fields_poster(pos, formname, fields, player)
local meta = minetest.get_meta(pos)
if not minetest.is_protected(pos, player:get_player_name()) then
if fields and fields.ok then
if fields and (fields.ok or fields.key_enter) then
meta:set_string("display_text", fields.display_text)
meta:set_string("text", fields.text)
meta:set_string("infotext", "\""..fields.display_text
@ -67,66 +70,55 @@ display_lib.register_display_entity("signs:text")
-- Sign models and registration
local models = {
wooden_right={
depth=1/16,
width = 14/16,
height = 7/16,
entity_fields = {
size = { x = 12/16, y = 5/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color="#000",
},
node_fields = {
description=S("Wooden direction sign"),
tiles={"signs_wooden_direction.png"},
inventory_image="signs_wooden_inventory.png",
on_place=signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
},
},
wooden_left={
wooden_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
size = { x = 12/16, y = 5/16 },
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color="#000",
},
node_fields = {
description=S("Wooden direction sign"),
tiles={"signs_wooden_direction.png"},
inventory_image="signs_wooden_inventory.png",
on_place=signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
description = S("Wooden direction sign"),
tiles = { "signs_wooden_direction.png" },
inventory_image = "signs_wooden_inventory.png",
signs_other_dir = 'signs:wooden_left_sign',
on_place = signs.on_place_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
groups={not_in_creative_inventory=1},
drop="signs:wooden_right",
mesh = "signs_dir_right.obj",
selection_box = { type="fixed", fixed = {-0.5, -7/32, 0.5, 7/16, 7/32, 7/16}},
collision_box = { type="fixed", fixed = {-0,5, -7/32, 0.5, 7/16, 7/32, 7/16}},
},
},
poster={
depth=1/32,
wooden_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Wooden direction sign"),
tiles = { "signs_wooden_direction.png" },
inventory_image = "signs_wooden_inventory.png",
signs_other_dir = 'signs:wooden_right_sign',
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}},
collision_box = { type="fixed", fixed = {-7/16, -7/32, 0.5, 0.5, 7/32, 7/16}},
groups = { not_in_creative_inventory = 1 },
drop = "signs:wooden_right_sign",
},
},
paper_poster = {
depth = 1/32,
width = 26/32,
height = 30/32,
entity_fields = {
@ -136,39 +128,21 @@ local models = {
valign="top",
},
node_fields = {
description=S("Poster"),
tiles={"signs_poster.png"},
inventory_image="signs_poster_inventory.png",
on_construct=display_lib.on_construct,
on_rightclick=on_rightclick_poster,
on_receive_fields=on_receive_fields_poster,
description = S("Poster"),
tiles = { "signs_poster_sides.png", "signs_poster_sides.png",
"signs_poster_sides.png", "signs_poster_sides.png",
"signs_poster_sides.png", "signs_poster.png" },
inventory_image = "signs_poster_inventory.png",
on_construct = display_lib.on_construct,
on_rightclick = on_rightclick_poster,
on_receive_fields = on_receive_fields_poster,
},
},
}
-- Node registration
for name, model in pairs(models)
do
signs.register_sign("signs", name, model)
end
if minetest.get_modpath("homedecor") then
print ("["..minetest.get_current_modname().."] homedecor mod is present, not overriding default:sign.")
else
-- Override default sign
signs.register_sign(":default", "sign_wall", {
depth = 1/16,
width = 14/16,
height = 10/16,
entity_fields = {
size = { x = 12/16, y = 8/16 },
resolution = { x = 144, y = 64 },
maxlines = 3,
color="#000",
},
node_fields = {
description="Sign",
tiles={"signs_default.png"},
inventory_image="signs_default_inventory.png",
},
})
end

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_black_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="19.873986"
inkscape:cy="24.450401"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="16"
x="0"
y="8"
rx="0"
ry="0" />
<rect
style="display:inline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="14"
x="1"
y="9"
ry="2"
rx="2" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Left"
style="display:none">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 2,16 6,-6 0,3 22,0 0,6 -22,0 0,3 z"
id="path2997-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Right"
style="display:inline">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 30,16 -6,-6 0,3 -22,0 0,6 22,0 0,3 z"
id="path2997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

139
signs/svg/blue_street.svg Normal file

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="dessin.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_blue_street_inv.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="-5.016165"
inkscape:cy="21.417081"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="true"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff5000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Inv"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2995"
width="28"
height="24"
x="2"
y="4"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="display:inline;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3.5,8.5 0,15 c 1.5,0 3,1.5 3,3 l 19,0 c 0,-1.5 1.5,-3 3,-3 l 0,-15 c -1.5,0 -3,-1.5 -3,-3 l -19,0 c 0,1.5 -1.5,3 -3,3 z"
id="path3018"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3010"
sodipodi:cx="2"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="M 3,6 A 1,1 0 1 1 1,6 1,1 0 1 1 3,6 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3012"
sodipodi:cx="30"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,6 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3014"
sodipodi:cx="2"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 3,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3016"
sodipodi:cx="30"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Tour"
style="display:inline">
<path
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 0,0 0,32 32,32 32,0 0,0 z M 2,4 30,4 30,28 2,28 2,4 z"
id="rect2995-0"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

104
signs/svg/green_street.svg Normal file

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="green_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_green_street.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="18.489786"
inkscape:cy="10.161883"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="12"
x="0"
y="10"
rx="0"
ry="0" />
<rect
style="color:#000000;fill:#008040;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="10"
x="1"
y="11"
ry="2"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

435
signs/svg/poster.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 606 B

@ -2,6 +2,8 @@
This mod provides road signs with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib, signs
**License**: Code under LGPL, texture under CC-BY-SA
@ -10,19 +12,19 @@ This mod provides road signs with text display. Text is locked if area is protec
**Blue Street Sign**
B W S
B W -
S S S
- - -
B = Blue Dye, W = White Dye, S = Steel Ingot
**Green Street Sign**
**Red and White Street Sign**
G W S
W R -
S S S
- - -
G = Green Dye, W = White Dye, S = Steel Ingot
W = White Dye, R = Red Dye, S = Steel Ingot
**Black direction sign**
@ -32,3 +34,33 @@ G = Green Dye, W = White Dye, S = Steel Ingot
B = Black Dye, W = White Dye, S = Steel Ingot
**White Signs**
Two kinds of signs, normal and direction signs :
W B - W B S
S S S S S -
- - - - - -
W = White Dye, B = Black Dye, S = Steel Ingot
**Green Signs**
Two kinds of signs, normal and direction signs :
G W - G W S
S S S S S -
- - - - - -
G = Green Dye, W = White Dye, S = Steel Ingot
**Yellow Signs**
Two kinds of signs, normal and direction signs :
Y B - Y B S
S S S S S -
- - - - - -
Y = Yellow Dye, B = Black Dye, S = Steel Ingot

@ -0,0 +1,58 @@
--[[
signs mod for Minetest - Various signs with text displayed on
(c) Pierre-Yves Rollo
This file is part of signs.
signs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
signs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with signs. If not, see <http://www.gnu.org/licenses/>.
--]]
-- Wallmounted to facedir conversion
local wallmounted_to_facedir = {
[0]=1, -- Should not happend with signs
[1]=1, -- Should not happend with signs
[2]=1,
[3]=3,
[4]=0,
[5]=2
}
-- Nodes conversions
local convert_nodes = {
['signs_road:blue_street'] = 'signs_road:blue_street_sign',
['signs_road:green_street'] = 'signs_road:green_street_sign',
['signs_road:black_right'] = 'signs_road:black_right_sign',
['signs_road:black_left'] = 'signs_road:black_left_sign',
['signs_road:green_right'] = 'signs_road:green_right_sign',
['signs_road:green_left'] = 'signs_road:green_left_sign'
}
local function compatibility_check(pos, node)
-- Old wallmounted modes to new facedir nodes conversion
node.name = convert_nodes[node.name]
if node.name then
node.param2 = wallmounted_to_facedir[node.param2]
display_lib.on_destruct(pos)
minetest.swap_node(pos, node)
display_lib.on_construct(pos)
end
end
minetest.register_lbm({ name = "signs_road:conpatibility_1",
nodenames = {'signs_road:blue_street', 'signs_road:green_street', 'signs_road:black_right',
'signs_road:black_left', 'signs_road:green_right', 'signs_road:green_left'},
action = compatibility_check,
})

@ -1 +1,4 @@
Code, Textures and Models by Pierre-Yves Rollo
Code, Textures and Models by Pierre-Yves Rollo (pyrollo)
intllib support (i18n) by fat115
intllib fallback code and tools by Diego Martínez (kaeza)

@ -20,25 +20,53 @@
--]]
minetest.register_craft({
output = 'signs_road:blue_street',
output = 'signs_road:blue_street_sign 2',
recipe = {
{'dye:blue', 'dye:white', 'default:steel_ingot'},
{'dye:blue', 'dye:white', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:green_street',
output = 'signs_road:red_street_sign 2',
recipe = {
{'dye:green', 'dye:white', 'default:steel_ingot'},
{'dye:white', 'dye:red', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:black_right',
output = 'signs_road:white_street_sign 2',
recipe = {
{'dye:white', 'dye:black', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:green_street_sign 2',
recipe = {
{'dye:green', 'dye:white', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:yellow_street_sign 2',
recipe = {
{'dye:yellow', 'dye:black', ''},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:black_right_sign 2',
recipe = {
{'dye:black', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
@ -46,3 +74,30 @@ minetest.register_craft({
}
})
minetest.register_craft({
output = 'signs_road:green_right_sign 2',
recipe = {
{'dye:green', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:yellow_right_sign 2',
recipe = {
{'dye:yellow', 'dye:white', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})
minetest.register_craft({
output = 'signs_road:white_right_sign 2',
recipe = {
{'dye:white', 'dye:black', 'default:steel_ingot'},
{'default:steel_ingot', 'default:steel_ingot', ''},
{'', '', ''},
}
})

@ -1,6 +1,6 @@
default
intllib?
dye
display_lib
font_lib
signs
intllib?

@ -20,12 +20,18 @@
--]]
signs_road = {}
signs_road.path = minetest.get_modpath("signs_road")
signs_road.name = minetest.get_current_modname()
signs_road.path = minetest.get_modpath(signs_road.name)
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
local S, NS = dofile(signs_road.path.."/intllib.lua")
signs_road.intllib = S
dofile(signs_road.path.."/nodes.lua")
dofile(signs_road.path.."/crafts.lua")
dofile(signs_road.path.."/compatibility.lua")

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n"
"POT-Creation-Date: 2017-08-26 11:26+0200\n"
"PO-Revision-Date: 2017-05-08 06:40+0200\n"
"Last-Translator: Peppy <peppy@twang-factory.com>\n"
"Language-Team: \n"
@ -22,14 +22,35 @@ msgstr ""
msgid "Blue street sign"
msgstr "Plaque de rue bleue"
#: nodes.lua
msgid "Red and white town sign"
msgstr "Panneau de ville rouge et blanc"
#: nodes.lua
msgid "White street sign"
msgstr "Panneau blanc"
#: nodes.lua
msgid "Green street sign"
msgstr "Plaque de rue verte"
msgstr "Panneau vert"
#: nodes.lua
msgid "Yellow street sign"
msgstr "Panneau jaune"
#: nodes.lua
msgid "Black direction sign"
msgstr "Panneau indicateur noir"
msgstr "Panneau de direction noir"
#: nodes.lua
msgid "Green direction sign"
msgstr "Panneau indicateur vert"
msgstr "Panneau de direction vert"
#: nodes.lua
msgid "Yellow direction sign"
msgstr "Panneau de direction jaune"
#: nodes.lua
msgid "White direction sign"
msgstr "Panneau de direction blanc"

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 09:50+0200\n"
"POT-Creation-Date: 2017-08-26 11:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,10 +21,22 @@ msgstr ""
msgid "Blue street sign"
msgstr ""
#: nodes.lua
msgid "Red and white town sign"
msgstr ""
#: nodes.lua
msgid "White street sign"
msgstr ""
#: nodes.lua
msgid "Green street sign"
msgstr ""
#: nodes.lua
msgid "Yellow street sign"
msgstr ""
#: nodes.lua
msgid "Black direction sign"
msgstr ""
@ -32,3 +44,11 @@ msgstr ""
#: nodes.lua
msgid "Green direction sign"
msgstr ""
#: nodes.lua
msgid "Yellow direction sign"
msgstr ""
#: nodes.lua
msgid "White direction sign"
msgstr ""

@ -22,134 +22,290 @@
local S = signs_road.intllib
local models = {
blue_street={
blue_street_sign = {
depth = 1/16,
width = 14/16,
height = 12/16,
entity_fields = {
resolution = { x = 144, y = 64 },
maxlines = 3,
color="#fff",
color = "#fff",
},
node_fields = {
description=S("Blue street sign"),
tiles={"signs_blue_street.png"},
inventory_image="signs_blue_street_inventory.png",
description = S("Blue street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_blue.png" },
inventory_image = "signs_road_blue.png",
},
},
green_street={
depth = 1/32,
red_street_sign = {
depth = 1/16,
width = 1,
height = 6/16,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color="#fff",
color = "#000",
},
node_fields = {
description=S("Green street sign"),
tiles={"signs_green_street.png"},
inventory_image="signs_green_street_inventory.png",
description = S("Red and white town sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_red_white.png" },
inventory_image="signs_road_red_white.png",
},
},
black_right={
white_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_white.png" },
inventory_image = "signs_road_white.png",
},
},
green_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#fff",
},
node_fields = {
description = S("Green street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_green.png" },
inventory_image = "signs_road_green.png",
},
},
yellow_street_sign = {
depth = 1/16,
width = 1,
height = 7/16,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow street sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_yellow.png" },
inventory_image="signs_road_yellow.png",
},
},
black_right_sign = {
depth = 1/32,
width = 1,
height = 0.5,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color = "#000",
},
node_fields = {
description = S("Black direction sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_black_dir_right.png" },
inventory_image = "signs_road_black_dir_inventory.png",
signs_other_dir = "signs_road:black_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
},
},
black_left_sign = {
depth = 1/32,
width = 1,
height = 0.5,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color="#000",
color = "#000",
},
node_fields = {
description=S("Black direction sign"),
tiles={"signs_black_right.png"},
inventory_image="signs_black_inventory.png",
on_place=signs.on_place_direction,
on_rightclick=signs.on_right_click_direction,
description = S("Black direction sign"),
tiles = { "signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_sides.png",
"signs_road_sides.png", "signs_road_black_dir_left.png" },
inventory_image = "signs_road_black_dir_inventory.png",
signs_other_dir = "signs_road:black_right_sign",
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:black_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
},
},
black_left={
depth = 1/32,
width = 1,
height = 0.5,
entity_fields = {
resolution = { x = 96, y = 64 },
maxlines = 1,
color="#000",
},
node_fields = {
description=S("Black direction sign"),
tiles={"signs_black_left.png"},
inventory_image="signs_black_inventory.png",
groups={not_in_creative_inventory=1},
drop="signs_road:black_right",
on_place=signs.on_place_direction,
on_rightclick=signs.on_right_click_direction,
},
},
green_right={
green_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color="#fff",
color = "#fff",
},
node_fields = {
description=S("Green direction sign"),
tiles={"signs_green_direction.png"},
inventory_image="signs_green_dir_inventory.png",
on_place=signs.on_place_direction,
description = S("Green direction sign"),
tiles = { "signs_road_green_direction.png" },
inventory_image = "signs_road_green_dir_inventory.png",
signs_other_dir = "signs_road:green_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -7/16, -7/16, 7/32, 0.5},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
},
},
green_left={
green_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color="#fff",
},
node_fields = {
description=S("Green direction sign"),
tiles={"signs_green_direction.png"},
inventory_image="signs_green_dir_inventory.png",
description = S("Green direction sign"),
tiles = { "signs_road_green_direction.png" },
inventory_image = "signs_road_green_dir_inventory.png",
signs_other_dir = "signs_road:green_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:green_right_sign",
},
},
yellow_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow direction sign"),
tiles = { "signs_road_yellow_direction.png" },
inventory_image = "signs_road_yellow_dir_inventory.png",
signs_other_dir = "signs_road:yellow_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
},
},
yellow_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("Yellow direction sign"),
tiles = { "signs_road_yellow_direction.png" },
inventory_image = "signs_road_yellow_dir_inventory.png",
signs_other_dir = "signs_road:yellow_right_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:yellow_left_sign",
},
},
white_right_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = -3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White direction sign"),
tiles = { "signs_road_white_direction.png" },
inventory_image = "signs_road_white_dir_inventory.png",
signs_other_dir = "signs_road:white_left_sign",
on_place = signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_right.obj",
selection_box = { type = "fixed", fixed = { -0.5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -0,5, -7/32, 0.5, 7/16, 7/32, 7/16 } },
},
},
white_left_sign = {
depth = 1/16,
width = 14/16,
height = 7/16,
entity_fields = {
right = 3/32,
size = { x = 12/16, y = 6/16 },
resolution = { x = 112, y = 64 },
maxlines = 2,
color = "#000",
},
node_fields = {
description = S("White direction sign"),
tiles = { "signs_road_white_direction.png" },
inventory_image = "signs_road_white_dir_inventory.png",
signs_other_dir = "signs_road:white_right_sign",
on_place=signs.on_place_direction,
on_rightclick = signs.on_right_click_direction,
drawtype = "mesh",
mesh = "signs_dir_left.obj",
selection_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
collision_box = { type="wallmounted",
wall_side = {-0.5, -7/32, -0.5, -7/16, 7/32, 7/16},
wall_bottom = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
wall_top = {-0.5, 0.5, -0.5, 0.5, 7/16, 0.5}},
groups={not_in_creative_inventory=1},
drop="signs_road:green_right",
selection_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
collision_box = { type = "fixed", fixed = { -7/16, -7/32, 0.5, 0.5, 7/32, 7/16 } },
groups = { not_in_creative_inventory = 1 },
drop = "signs_road:white_right_sign",
},
},
}
-- Node registration
for name, model in pairs(models)
do
signs.register_sign("signs_road", name, model)
end

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="green_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_green_street.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="8.8574553"
inkscape:cy="17.483424"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#008040;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_black_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="19.873986"
inkscape:cy="24.450401"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv">
<rect
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3110"
width="32"
height="16"
x="0"
y="8"
rx="0"
ry="0" />
<rect
style="display:inline;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000000999999998;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="rect3767"
width="30"
height="14"
x="1"
y="9"
ry="2"
rx="2" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Left"
style="display:none">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 2,16 6,-6 0,3 22,0 0,6 -22,0 0,3 z"
id="path2997-1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Right"
style="display:inline">
<path
style="fill:#ffffff;fill-opacity:1;stroke:none;display:inline"
d="m 30,16 -6,-6 0,3 -22,0 0,6 22,0 0,3 z"
id="path2997"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="dessin.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_blue_street_inv.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="-5.016165"
inkscape:cy="21.417081"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
borderlayer="true"
inkscape:window-width="1239"
inkscape:window-height="776"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff5000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Inv"
inkscape:groupmode="layer"
style="display:inline">
<rect
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect2995"
width="28"
height="24"
x="2"
y="4"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="display:inline;fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3.5,8.5 0,15 c 1.5,0 3,1.5 3,3 l 19,0 c 0,-1.5 1.5,-3 3,-3 l 0,-15 c -1.5,0 -3,-1.5 -3,-3 l -19,0 c 0,1.5 -1.5,3 -3,3 z"
id="path3018"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3010"
sodipodi:cx="2"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="M 3,6 A 1,1 0 1 1 1,6 1,1 0 1 1 3,6 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3012"
sodipodi:cx="30"
sodipodi:cy="6"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,6 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3014"
sodipodi:cx="2"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 3,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(2,0)" />
<path
sodipodi:type="arc"
style="display:inline;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;overflow:visible;enable-background:accumulate"
id="path3016"
sodipodi:cx="30"
sodipodi:cy="26"
sodipodi:rx="1"
sodipodi:ry="1"
d="m 31,26 a 1,1 0 1 1 -2,0 1,1 0 1 1 2,0 z"
transform="translate(-2,0)" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Tour"
style="display:inline">
<path
style="color:#000000;fill:#000040;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
d="M 0,0 0,32 32,32 32,0 0,0 z M 2,4 30,4 30,28 2,28 2,4 z"
id="rect2995-0"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_green_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_green_direction.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#e8e285"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="11.800709"
inkscape:cy="20.241354"
inkscape:document-units="px"
inkscape:current-layer="layer2"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
transform="translate(-14.285706,-286.07651)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4192"
width="32"
height="32"
x="14.285706"
y="286.07651" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,18 0,14 30,0 0,-10 -2,0 0,-4 -28,0 z"
id="rect4164-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,2 0,14 28,0 0,-4 2,0 L 32,2 2,2 Z"
id="rect4164"
inkscape:connector-curvature="0" />
<path
style="fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
style="fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2,10 0,14 24,0 6,-7 -6,-7 z"
id="path4212-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="display:inline;fill:#008040;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-5-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -0,0 +1,172 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_road_black_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_black_dir_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="7.919596"
inkscape:cx="0.60099162"
inkscape:cy="14.877077"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none"
sodipodi:insensitive="true">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1,10 24,0 6,7 -6,7 -24,0 z"
id="path4193-3-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 2,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-6"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
style="fill:#808080;stroke:none;stroke-width:2;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4147"
width="32"
height="32"
x="0"
y="0" />
<path
transform="translate(-14.285706,-286.07651)"
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
transform="translate(-14.285706,-286.07651)"
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212-6"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_road_red.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_red_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#f9f6c0"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="11.197802"
inkscape:cx="11.734227"
inkscape:cy="23.110862"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Texture"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:1.02928686;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
id="rect3767"
width="28.970713"
height="10.970714"
x="1.5146434"
y="10.514644"
ry="2.1941426"
rx="1.9313809" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Inventory"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-7"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:1.02928686;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
id="rect3767-5"
width="28.970713"
height="10.970714"
x="1.5146434"
y="10.514644"
ry="2.1941426"
rx="1.9313809" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
viewBox="0 0 32 32"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="signs_yellow_direction.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_direction.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#e8e285"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.839192"
inkscape:cx="12.242651"
inkscape:cy="20.241354"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4147" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Texture"
style="display:inline">
<rect
transform="translate(-14.285706,-286.07651)"
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.98000004;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
id="rect4192"
width="32"
height="32"
x="14.285706"
y="286.07651" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,18 0,14 30,0 0,-10 -2,0 0,-4 -28,0 z"
id="rect4164-7"
inkscape:connector-curvature="0" />
<path
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 2,2 0,14 28,0 0,-4 2,0 L 32,2 2,2 Z"
id="rect4164"
inkscape:connector-curvature="0" />
<path
style="fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,3 22,0 4,6 -4,6 -22,0 z"
id="path4234"
inkscape:connector-curvature="0" />
<path
style="fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,19 22,0 4,6 -4,6 -22,0 z"
id="path4234-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="Inventory"
style="display:none">
<path
style="display:inline;fill:#000000;fill-rule:evenodd;stroke:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 2,10 0,14 24,0 6,-7 -6,-7 z"
id="path4212-3"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="display:inline;fill:#fbdf00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 3,11 22,0 4,6 -4,6 -22,0 z"
id="path4234-5-5"
inkscape:connector-curvature="0" />
</g>
<g
inkscape:label="Guides"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-14.285706,-286.07651)"
style="display:none">
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149"
width="1.9999995"
height="13.999997"
x="14.285706"
y="288.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3"
width="2.0000005"
height="10.000003"
x="44.285706"
y="298.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-6"
width="24"
height="1.9999976"
x="16.285706"
y="302.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-7"
width="2.0000005"
height="10.000003"
x="14.285706"
y="308.07651" />
<rect
style="fill:none;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect4149-3-5"
width="24"
height="2.0000024"
x="16.285706"
y="286.07651" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,288.07651 24,0 6,7 -6,7 -24,0 z"
id="path4193"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#ff00ff;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 16.285706,304.07651 0,14 24,0 6,-7 -6,-7 z"
id="path4212"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.92.1 r15371"
sodipodi:docname="white_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="-5.5084709"
inkscape:cy="17.483424"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5"
spacingy="0.5"
color="#ff0000"
opacity="0.1254902"
originx="0"
originy="0" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32px"
height="32px"
id="svg2985"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="yellow_street.svg"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_yellow_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs2987" />
<sodipodi:namedview
id="base"
pagecolor="#d2d038"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:zoom="15.836083"
inkscape:cx="8.8574553"
inkscape:cy="17.483424"
inkscape:current-layer="layer5"
showgrid="true"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1325"
inkscape:window-height="744"
inkscape:window-x="41"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2993"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
spacingx="0.5px"
spacingy="0.5px"
color="#ff0000"
opacity="0.1254902" />
</sodipodi:namedview>
<metadata
id="metadata2990">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Fond"
inkscape:groupmode="layer"
style="display:none">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#999999;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110-2"
width="32"
height="32"
x="0"
y="0"
rx="0"
ry="0"
inkscape:export-filename="/home/pyrollo/dev/minetest-mods/display_modpack/signs_road/textures/signs_road_green_inventory.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="Fond inv"
style="display:inline">
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3110"
width="32"
height="14"
x="0"
y="9"
rx="0"
ry="0" />
<rect
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fbdf00;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.30000001;marker:none;enable-background:accumulate"
id="rect3767"
width="30"
height="12"
x="1"
y="10"
ry="2.4000001"
rx="2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 279 B

Before

Width:  |  Height:  |  Size: 265 B

After

Width:  |  Height:  |  Size: 265 B

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 263 B

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

Before

Width:  |  Height:  |  Size: 436 B

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -2,6 +2,8 @@
This mod provides stone steles with text display. Text is locked if area is protected.
For more information, see the [forum topic](https://forum.minetest.net/viewtopic.php?f=11&t=13563) at the Minetest forums.
**Dependancies**: default, display\_lib, font\_lib, technic?
(Technic adds marble and granite steles)

@ -19,11 +19,11 @@
--]]
steles = {}
steles.path = minetest.get_modpath("steles")
steles.name = minetest.get_current_modname()
steles.path = minetest.get_modpath(steles.name)
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
local S, NS = dofile(steles.path.."/intllib.lua")
steles.intllib = S
dofile(steles.path.."/config.lua")

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-05 10:06+0200\n"
"POT-Creation-Date: 2017-08-26 11:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

@ -87,6 +87,7 @@ for i, material in ipairs(steles.materials) do
end
end
end,
on_punch = function(pos, node, player, pointed_thing) display_lib.update_entities(pos) end,
})
end
end