From c1835931e52769bf50425990370b60dfc9d17f63 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Rollo Date: Thu, 1 Nov 2018 18:10:26 +0100 Subject: Added labels and wooden signs --- signs/crafts.lua | 47 +++++- signs/nodes.lua | 75 +++++++-- signs/svg/poster.svg | 171 ++++++++++++--------- signs/textures/signs_label.png | Bin 0 -> 404 bytes signs/textures/signs_label_medium_inventory.png | Bin 0 -> 406 bytes signs/textures/signs_label_small_inventory.png | Bin 0 -> 417 bytes .../textures/signs_wooden_direction_inventory.png | Bin 546 -> 710 bytes signs/textures/signs_wooden_long.png | Bin 0 -> 524 bytes signs/textures/signs_wooden_long_inventory.png | Bin 0 -> 636 bytes 9 files changed, 202 insertions(+), 91 deletions(-) create mode 100644 signs/textures/signs_label.png create mode 100644 signs/textures/signs_label_medium_inventory.png create mode 100644 signs/textures/signs_label_small_inventory.png create mode 100644 signs/textures/signs_wooden_long.png create mode 100644 signs/textures/signs_wooden_long_inventory.png diff --git a/signs/crafts.lua b/signs/crafts.lua index b4e0206..ef82dbc 100644 --- a/signs/crafts.lua +++ b/signs/crafts.lua @@ -2,17 +2,60 @@ minetest.register_craft({ output = 'signs:wooden_right_sign', recipe = { {'group:wood', 'group:wood', 'group:wood'}, - {'group:wood', 'group:wood', ''}, + {'group:wood', 'group:wood', 'dye:black'}, {'', '', ''}, } }) +minetest.register_craft({ + output = 'signs:wooden_right_sign', + type = 'shapeless', + recipe = { 'signs:wooden_long_sign' } +}) + +minetest.register_craft({ + output = 'signs:wooden_long_sign', + recipe = { + {'group:wood', 'dye:black', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + {'', '', ''}, + } +}) + +minetest.register_craft({ + output = 'signs:wooden_long_sign', + type = 'shapeless', + recipe = { 'signs:wooden_right_sign' } +}) + +minetest.register_craft({ + output = 'signs:wooden_sign', + recipe = { + {'', 'dye:black', ''}, + {'group:wood', 'group:wood', 'group:wood'}, + {'group:wood', 'group:wood', 'group:wood'}, + } +}) + minetest.register_craft({ output = 'signs:paper_poster', recipe = { - {'default:paper', 'default:paper', ''}, + {'default:paper', 'default:paper', 'dye:black'}, {'default:paper', 'default:paper', ''}, {'default:paper', 'default:paper', ''}, } }) +minetest.register_craft({ + output = 'signs:label_small', + recipe = { + {'default:paper', 'dye:black'}, + } +}) + +minetest.register_craft({ + output = 'signs:label_small', + recipe = { + {'default:paper', 'default:paper', 'dye:black'}, + } +}) diff --git a/signs/nodes.lua b/signs/nodes.lua index 7500297..c74ab6f 100644 --- a/signs/nodes.lua +++ b/signs/nodes.lua @@ -77,12 +77,12 @@ local function on_receive_fields_poster(pos, formname, fields, player) local node = minetest.get_node(pos) if not minetest.is_protected(pos, player:get_player_name()) and fields then - if formname == node.name.."@"..minetest.pos_to_string(pos)..":display" and - fields.edit then + if formname == node.name.."@"..minetest.pos_to_string(pos)..":display" + and fields.edit then edit_poster(pos, node, player) end - if formname == node.name.."@"..minetest.pos_to_string(pos)..":edit" and - (fields.write or fields.key_enter) then + if formname == node.name.."@"..minetest.pos_to_string(pos)..":edit" + and (fields.write 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 @@ -99,9 +99,7 @@ display_api.register_display_entity("signs:display_text") -- Sign models and registration local models = { wooden_sign = { - depth = 1/16, - width = 14/16, - height = 12/16, + depth = 1/16, width = 14/16, height = 12/16, entity_fields = { size = { x = 12/16, y = 10/16 }, maxlines = 3, @@ -111,12 +109,29 @@ local models = { description = S("Wooden sign"), tiles = { "signs_wooden.png" }, inventory_image = "signs_wooden_inventory.png", + groups= { dig_immediate = 2 }, + }, + }, + wooden_long_sign = { + depth = 1/16, width = 1, height = 7/16, + entity_fields = { + size = { x = 1, y = 6/16 }, + maxlines = 2, + color = "#000", + }, + node_fields = { + description = S("Wooden long sign"), + tiles = { "signs_wooden_long.png", "signs_wooden_long.png", + "signs_wooden_long.png^[transformR90", + "signs_wooden_long.png^[transformR90", + "signs_wooden_long.png", "signs_wooden_long.png", + }, + inventory_image = "signs_wooden_long_inventory.png", + groups= { dig_immediate = 2 }, }, }, wooden_right_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, + depth = 1/16, width = 14/16, height = 7/16, entity_fields = { right = -3/32, size = { x = 12/16, y = 6/16 }, @@ -133,12 +148,11 @@ local models = { 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}}, + groups= { dig_immediate = 2 }, }, }, wooden_left_sign = { - depth = 1/16, - width = 14/16, - height = 7/16, + depth = 1/16, width = 14/16, height = 7/16, entity_fields = { right = 3/32, size = { x = 12/16, y = 6/16 }, @@ -154,14 +168,12 @@ local models = { 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 }, + groups = { not_in_creative_inventory = 1, dig_immediate = 2 }, drop = "signs:wooden_right_sign", }, }, paper_poster = { - depth = 1/32, - width = 26/32, - height = 30/32, + depth = 1/32, width = 26/32, height = 30/32, entity_fields = { top = -11/32, size = { x = 26/32, y = 6/32 }, @@ -174,11 +186,40 @@ local models = { "signs_poster_sides.png", "signs_poster_sides.png", "signs_poster_sides.png", "signs_poster.png" }, inventory_image = "signs_poster_inventory.png", + groups= { dig_immediate = 3 }, on_construct = display_api.on_construct, on_rightclick = display_poster, on_receive_fields = on_receive_fields_poster, }, }, + label_small = { + depth = 1/32, width = 4/16, height = 4/16, + entity_fields = { + size = { x = 4/16, y = 4/16 }, + maxlines = 1, + color = "#000", + }, + node_fields = { + description = S("Small label"), + tiles = { "signs_label.png" }, + inventory_image = "signs_label_small_inventory.png", + groups= { dig_immediate = 3 }, + }, + }, + label_medium = { + depth = 1/32, width = 8/16, height = 8/16, + entity_fields = { + size = { x = 8/16, y = 8/16 }, + maxlines = 2, + color = "#000", + }, + node_fields = { + description = S("Label"), + tiles = { "signs_label.png" }, + inventory_image = "signs_label_medium_inventory.png", + groups= { dig_immediate = 3 }, + }, + }, } -- Node registration diff --git a/signs/svg/poster.svg b/signs/svg/poster.svg index 4f6f774..f2388a8 100644 --- a/signs/svg/poster.svg +++ b/signs/svg/poster.svg @@ -15,8 +15,8 @@ height="32px" id="svg2985" version="1.1" - inkscape:version="0.48.4 r9939" - sodipodi:docname="affiche.svg" + inkscape:version="0.92.3 (2405546, 2018-03-11)" + sodipodi:docname="poster.svg" inkscape:export-filename="/home/pyrollo/dev/minetest-mods/signs/textures/signs_poster.png" inkscape:export-xdpi="90" inkscape:export-ydpi="90"> @@ -73,18 +73,18 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.197802" - inkscape:cx="-4.798213" - inkscape:cy="9.6735437" - inkscape:current-layer="layer5" + inkscape:zoom="22.395604" + inkscape:cx="15.573035" + inkscape:cy="16.977299" + inkscape:current-layer="layer2" 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:window-width="785" + inkscape:window-height="447" + inkscape:window-x="2459" + inkscape:window-y="340" + inkscape:window-maximized="0" showguides="true" inkscape:guide-bbox="true" inkscape:object-paths="true"> @@ -95,11 +95,13 @@ visible="true" enabled="true" snapvisiblegridlinesonly="true" - spacingx="0.5px" - spacingy="0.5px" + spacingx="0.5" + spacingy="0.5" dotted="false" color="#ff0000" - opacity="0.1254902" /> + opacity="0.1254902" + originx="0" + originy="0" /> @@ -109,7 +111,7 @@ image/svg+xml - + @@ -127,7 +129,7 @@ height="32.081406" width="32.003735" /> + y="-10.876763" + style="font-family:sans-serif" />  + inkscape:label="Fond inv" + style="display:inline"> READ ME ! + style="font-weight:bold;font-size:3.42845988px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'Sans Bold'">READ ME ! + + + + + style="display:none"> diff --git a/signs/textures/signs_label.png b/signs/textures/signs_label.png new file mode 100644 index 0000000..4cf7edc Binary files /dev/null and b/signs/textures/signs_label.png differ diff --git a/signs/textures/signs_label_medium_inventory.png b/signs/textures/signs_label_medium_inventory.png new file mode 100644 index 0000000..9622201 Binary files /dev/null and b/signs/textures/signs_label_medium_inventory.png differ diff --git a/signs/textures/signs_label_small_inventory.png b/signs/textures/signs_label_small_inventory.png new file mode 100644 index 0000000..2dd60af Binary files /dev/null and b/signs/textures/signs_label_small_inventory.png differ diff --git a/signs/textures/signs_wooden_direction_inventory.png b/signs/textures/signs_wooden_direction_inventory.png index 1b8e3d4..c4be3af 100644 Binary files a/signs/textures/signs_wooden_direction_inventory.png and b/signs/textures/signs_wooden_direction_inventory.png differ diff --git a/signs/textures/signs_wooden_long.png b/signs/textures/signs_wooden_long.png new file mode 100644 index 0000000..c23a56a Binary files /dev/null and b/signs/textures/signs_wooden_long.png differ diff --git a/signs/textures/signs_wooden_long_inventory.png b/signs/textures/signs_wooden_long_inventory.png new file mode 100644 index 0000000..78d2545 Binary files /dev/null and b/signs/textures/signs_wooden_long_inventory.png differ -- cgit v1.2.3