From 0232c5bbd1e290ad2f1bbca3c6d2595a8a303c58 Mon Sep 17 00:00:00 2001 From: Jat Date: Sun, 5 Jan 2014 19:01:57 +0100 Subject: [PATCH 1/8] Use one node for all direction Bug correct and optimization for later -Facedir 5 and 7 bug texture -Prediction node for facedir to change --- init.lua | 210 +++-------- shared_locked.lua | 353 ++++-------------- .../{arrow_sign_right.png => arrow_sign.png} | Bin textures/arrow_sign_border_down.png | Bin 0 -> 220 bytes textures/arrow_sign_border_left.png | Bin 0 -> 202 bytes textures/arrow_sign_border_right.png | Bin 0 -> 176 bytes textures/arrow_sign_border_up.png | Bin 0 -> 222 bytes textures/arrow_sign_down.png | Bin 676 -> 0 bytes textures/arrow_sign_left.png | Bin 658 -> 0 bytes textures/arrow_sign_up.png | Bin 691 -> 0 bytes textures/rightandleft.xcf | Bin 0 -> 898 bytes textures/{sign_right.xcf => sign.xcf} | Bin textures/sign_down.xcf | Bin 1485 -> 0 bytes textures/sign_left.xcf | Bin 1327 -> 0 bytes textures/sign_up.xcf | Bin 1485 -> 0 bytes textures/upanddown.xcf | Bin 0 -> 963 bytes 16 files changed, 135 insertions(+), 428 deletions(-) rename textures/{arrow_sign_right.png => arrow_sign.png} (100%) create mode 100644 textures/arrow_sign_border_down.png create mode 100644 textures/arrow_sign_border_left.png create mode 100644 textures/arrow_sign_border_right.png create mode 100644 textures/arrow_sign_border_up.png delete mode 100644 textures/arrow_sign_down.png delete mode 100644 textures/arrow_sign_left.png delete mode 100644 textures/arrow_sign_up.png create mode 100644 textures/rightandleft.xcf rename textures/{sign_right.xcf => sign.xcf} (100%) delete mode 100644 textures/sign_down.xcf delete mode 100644 textures/sign_left.xcf delete mode 100644 textures/sign_up.xcf create mode 100644 textures/upanddown.xcf diff --git a/init.lua b/init.lua index 864e6d7..c7f36f8 100644 --- a/init.lua +++ b/init.lua @@ -12,7 +12,7 @@ arrow_signs={} minetest.chat_send_player(sender:get_player_name(), "error: you don't have permission to edit the sign. you need the interact priv") return end - local meta = minetest.env:get_meta(pos) + local meta = minetest.get_meta(pos) fields.text = fields.text or "" print((sender:get_player_name() or "").." wrote \""..fields.text.. "\" to sign at "..minetest.pos_to_string(pos)) @@ -61,68 +61,40 @@ else end minetest.register_node(":default:sign_wall", node) - - - - - - - - ---Sign right -minetest.register_node("arrow_signs:wall_right", { - description = "Sign right", - drawtype = "signlike", - tiles = {"arrow_sign_right.png"}, - inventory_image = "arrow_sign_right.png", +--Sign arrow +minetest.register_node("arrow_signs:wall", { + description = "Arrow signs", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, + {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, + {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, + {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, + {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, + {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, + {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + } + }, + tiles = {"arrow_sign.png", "arrow_sign.png", "arrow_sign_border_right.png", "arrow_sign_border_left.png", "arrow_sign_border_up.png", "arrow_sign_border_down.png" }, + inventory_image = "arrow_sign.png", paramtype = "light", - paramtype2 = "wallmounted", + paramtype2 = "facedir", sunlight_propagates = true, walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1}, - legacy_wallmounted = true, + groups = {choppy=2,dig_immediate=2,sign=1}, sounds = default.node_sound_defaults(), + on_place = minetest.rotate_node, on_construct = function(pos) - --local n = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("formspec", "hack:sign_text_input") - meta:set_string("infotext", "\"\"") - end, - on_receive_fields = function(pos, formname, fields, sender) - arrow_signs:savetext(pos, formname, fields, sender) - end, - -}) - - --- sign left -minetest.register_node("arrow_signs:wall_left", { - description = "Sign left", - drawtype = "signlike", - tiles = {"arrow_sign_left.png"}, - inventory_image = "arrow_sign_left.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), - on_construct = function(pos) - --local n = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) + --local n = minetest.get_node(pos) + local meta = minetest.get_meta(pos) meta:set_string("formspec", "hack:sign_text_input") meta:set_string("infotext", "\"\"") end, @@ -131,115 +103,20 @@ minetest.register_node("arrow_signs:wall_left", { end, }) - ---Sign up -minetest.register_node("arrow_signs:wall_up", { - description = "Sign up", - drawtype = "signlike", - tiles = {"arrow_sign_up.png"}, - inventory_image = "arrow_sign_up.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), - on_construct = function(pos) - --local n = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("formspec", "hack:sign_text_input") - meta:set_string("infotext", "\"\"") - end, - on_receive_fields = function(pos, formname, fields, sender) - arrow_signs:savetext(pos, formname, fields, sender) - end, -}) - - ---Sign down -minetest.register_node("arrow_signs:wall_down", { - description = "Sign down", - drawtype = "signlike", - tiles = {"arrow_sign_down.png"}, - inventory_image = "arrow_sign_down.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1}, - legacy_wallmounted = true, - sounds = default.node_sound_defaults(), - on_construct = function(pos) - --local n = minetest.env:get_node(pos) - local meta = minetest.env:get_meta(pos) - meta:set_string("formspec", "hack:sign_text_input") - meta:set_string("infotext", "\"\"") - end, - on_receive_fields = function(pos, formname, fields, sender) - arrow_signs:savetext(pos, formname, fields, sender) - end, -}) - - - - - - ---recipes +--Recipes minetest.register_craft({ - output = 'arrow_signs:wall_right 1', - recipe = { - {'', '', ''}, - {'', 'group:sign', 'default:stick'}, - {'', '', ''}, - } -}) -minetest.register_craft({ - output = 'arrow_signs:wall_left 1', - recipe = { - {'', '', ''}, - {'default:stick', 'group:sign', ''}, - {'', '', ''}, - } -}) -minetest.register_craft({ - output = 'arrow_signs:wall_up 1', - recipe = { - {'', 'default:stick', ''}, - {'', 'group:sign', ''}, - {'', '', ''}, - } -}) -minetest.register_craft({ - output = 'arrow_signs:wall_down 1', - recipe = { - {'', '', ''}, - {'', 'group:sign', ''}, - {'', 'default:stick', ''}, - } + type = 'shapeless', + output = 'arrow_signs:wall', + recipe = {'group:sign', 'default:stick'}, }) minetest.register_craft({ output = 'default:sign_wall', recipe = { - {'group:sign'}, - } }) +--Alias minetest.register_alias("more_signs:wall_right", "arrow_signs:wall_right") minetest.register_alias("sign_right", "arrow_signs:wall_right") @@ -252,7 +129,24 @@ minetest.register_alias("sign_up", "arrow_signs:wall_up") minetest.register_alias("more_signs:wall_down", "arrow_signs:wall_down") minetest.register_alias("sign_down", "arrow_signs:wall_down") +--Redefinition +minetest.register_abm({ + nodenames = {"arrow_signs:wall_right", "arrow_signs:wall_left", "arrow_signs:wall_up", "arrow_signs:wall_down"}, + interval = 1, + chance = 1, + action = function(pos, node) + local convert_facedir={ + ["arrow_signs:wall_right"]={17,15,8,6}, + ["arrow_signs:wall_left"]={19,13,10,4}, + ["arrow_signs:wall_up"]={16,14,11,5}, + ["arrow_signs:wall_down"]={18,12,9,7} + } + minetest.swap_node(pos, {name="arrow_signs:wall",param2=convert_facedir[node.name][node.param2-1]}) + end, +}) + +--Locked sign if locks then local MODPATH = minetest.get_modpath("arrow_signs"); dofile(MODPATH.."/shared_locked.lua") diff --git a/shared_locked.lua b/shared_locked.lua index f185f76..fa2a9d8 100644 --- a/shared_locked.lua +++ b/shared_locked.lua @@ -1,284 +1,97 @@ -- a sign -minetest.register_node("arrow_signs:shared_locked_right", { - description = "Shared locked sign right", - drawtype = "signlike", - tiles = {"arrow_sign_right.png"}, - inventory_image = "arrow_sign_right.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,sign_locked=1}, - legacy_wallmounted = true, +minetest.register_node("arrow_signs:shared_locked", { + description = "Shared locked sign", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, + {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, + {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, + {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + } + }, + selection_box = { + type = "fixed", + fixed = { + {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, + {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, + {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, + {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + } + }, + tiles = {"arrow_sign.png", "arrow_sign.png", "arrow_sign_border_right.png", "arrow_sign_border_left.png", "arrow_sign_border_up.png", "arrow_sign_border_down.png" }, + inventory_image = "arrow_sign.png", + paramtype = "light", + paramtype2 = "wallmounted", + sunlight_propagates = true, + walkable = false, + groups = {choppy=2,dig_immediate=2,sign_locked=1}, + legacy_wallmounted = true, + + on_place = minetest.rotate_node, + + on_construct = function(pos) + local meta = minetest.get_meta(pos) + -- prepare the lock of the sign + locks:lock_init( pos, + "size[8,4]".. + "field[0.3,0.6;6,0.7;text;Text:;]".. + "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. + "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); + end, + + after_place_node = function(pos, placer) + locks:lock_set_owner( pos, placer, "Shared locked sign" ); + end, - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - -- prepare the lock of the sign - locks:lock_init( pos, - "size[8,4]".. - "field[0.3,0.6;6,0.7;text;Text:;]".. - "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. - "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); - end, + can_dig = function(pos,player) + return locks:lock_allow_dig( pos, player ); + end, - after_place_node = function(pos, placer) - locks:lock_set_owner( pos, placer, "Shared locked sign" ); - end, + on_receive_fields = function(pos, formname, fields, sender) + -- if the user already has the right to use this and did input text + if( fields.text + and ( not(fields.locks_sent_lock_command) + or fields.locks_sent_lock_command=="") + and locks:lock_allow_use( pos, sender )) then - can_dig = function(pos,player) - return locks:lock_allow_dig( pos, player ); - end, + --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) + local meta = minetest.get_meta(pos) + fields.text = fields.text or ""; + print((sender:get_player_name() or "").." wrote \""..fields.text.. + "\" to sign at "..minetest.pos_to_string(pos)); + meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); + meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); - on_receive_fields = function(pos, formname, fields, sender) + -- a command for the lock? + else + arrow_signs:savetext( pos, formname, fields, sender ); + end - -- if the user already has the right to use this and did input text - if( fields.text - and ( not(fields.locks_sent_lock_command) - or fields.locks_sent_lock_command=="") - and locks:lock_allow_use( pos, sender )) then - - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local meta = minetest.env:get_meta(pos) - fields.text = fields.text or ""; - print((sender:get_player_name() or "").." wrote \""..fields.text.. - "\" to sign at "..minetest.pos_to_string(pos)); - meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); - meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); - - -- a command for the lock? - else - arrow_signs:savetext( pos, formname, fields, sender ); - end - - end, - }); ---left - minetest.register_node("arrow_signs:shared_locked_left", { - description = "Shared locked sign left", - drawtype = "signlike", - tiles = {"arrow_sign_left.png"}, - inventory_image = "arrow_sign_left.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,sign_locked=1}, - legacy_wallmounted = true, - - - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - -- prepare the lock of the sign - locks:lock_init( pos, - "size[8,4]".. - "field[0.3,0.6;6,0.7;text;Text:;]".. - "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. - "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); - end, - - after_place_node = function(pos, placer) - locks:lock_set_owner( pos, placer, "Shared locked sign" ); - end, - - - can_dig = function(pos,player) - return locks:lock_allow_dig( pos, player ); - end, - - on_receive_fields = function(pos, formname, fields, sender) - - -- if the user already has the right to use this and did input text - if( fields.text - and ( not(fields.locks_sent_lock_command) - or fields.locks_sent_lock_command=="") - and locks:lock_allow_use( pos, sender )) then - - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local meta = minetest.env:get_meta(pos) - fields.text = fields.text or ""; - print((sender:get_player_name() or "").." wrote \""..fields.text.. - "\" to sign at "..minetest.pos_to_string(pos)); - meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); - meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); - - -- a command for the lock? - else - arrow_signs:savetext( pos, formname, fields, sender ); - end - - end, - }); - --up - minetest.register_node("arrow_signs:shared_locked_up", { - description = "Shared locked sign up", - drawtype = "signlike", - tiles = {"arrow_sign_up.png"}, - inventory_image = "arrow_sign_up.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,sign_locked=1}, - legacy_wallmounted = true, - - - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - -- prepare the lock of the sign - locks:lock_init( pos, - "size[8,4]".. - "field[0.3,0.6;6,0.7;text;Text:;]".. - "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. - "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); - end, - - after_place_node = function(pos, placer) - locks:lock_set_owner( pos, placer, "Shared locked sign" ); - end, - - - can_dig = function(pos,player) - return locks:lock_allow_dig( pos, player ); - end, - - on_receive_fields = function(pos, formname, fields, sender) - - -- if the user already has the right to use this and did input text - if( fields.text - and ( not(fields.locks_sent_lock_command) - or fields.locks_sent_lock_command=="") - and locks:lock_allow_use( pos, sender )) then - - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local meta = minetest.env:get_meta(pos) - fields.text = fields.text or ""; - print((sender:get_player_name() or "").." wrote \""..fields.text.. - "\" to sign at "..minetest.pos_to_string(pos)); - meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); - meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); - - -- a command for the lock? - else - arrow_signs:savetext( pos, formname, fields, sender ); - end - - end, - }); - --down - minetest.register_node("arrow_signs:shared_locked_down", { - description = "Shared locked sign down", - drawtype = "signlike", - tiles = {"arrow_sign_down.png"}, - inventory_image = "arrow_sign_down.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - walkable = false, - selection_box = { - type = "wallmounted", - --wall_top = - --wall_bottom = - --wall_side = - }, - groups = {choppy=2,dig_immediate=2,sign_locked=1}, - legacy_wallmounted = true, - - - on_construct = function(pos) - local meta = minetest.env:get_meta(pos) - -- prepare the lock of the sign - locks:lock_init( pos, - "size[8,4]".. - "field[0.3,0.6;6,0.7;text;Text:;]".. - "field[0.3,3.6;6,0.7;locks_sent_lock_command;Locked sign. Type /help for help:;]".. - "button_exit[6.3,3.2;1.7,0.7;locks_sent_input;Proceed]" ); - end, - - after_place_node = function(pos, placer) - locks:lock_set_owner( pos, placer, "Shared locked sign" ); - end, - - - can_dig = function(pos,player) - return locks:lock_allow_dig( pos, player ); - end, - - on_receive_fields = function(pos, formname, fields, sender) - - -- if the user already has the right to use this and did input text - if( fields.text - and ( not(fields.locks_sent_lock_command) - or fields.locks_sent_lock_command=="") - and locks:lock_allow_use( pos, sender )) then - - --print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields)) - local meta = minetest.env:get_meta(pos) - fields.text = fields.text or ""; - print((sender:get_player_name() or "").." wrote \""..fields.text.. - "\" to sign at "..minetest.pos_to_string(pos)); - meta:set_string("text", fields.text.." ["..sender:get_player_name().."]"); - meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]"); - - -- a command for the lock? - else - arrow_signs:savetext( pos, formname, fields, sender ); - end - - end, + end, }); minetest.register_craft({ - output = 'arrow_signs:shared_locked_right', - recipe = { - { 'arrow_signs:wall_right', 'locks:lock', '' }, - }, + type = 'shapeless', + output = 'arrow_signs:shared_locked', + recipe = {'arrow_signs:wall', 'locks:lock'}, }) -minetest.register_craft({ - output = 'arrow_signs:shared_locked_left', - recipe = { - { 'arrow_signs:wall_left', 'locks:lock', '' }, - }, +--Redefinition +minetest.register_abm({ + nodenames = {"arrow_signs:shared_locked_right", "'arrow_signs:shared_locked_left", "arrow_signs:shared_locked_up", "arrow_signs:shared_locked_down"}, + interval = 1, + chance = 1, + action = function(pos, node) + local convert_facedir={ + ["arrow_signs:shared_locked_right"]={17,15,8,6}, + ["arrow_signs:shared_locked_left"]={19,13,10,4}, + ["arrow_signs:shared_locked_up"]={16,14,11,5}, + ["arrow_signs:shared_locked_down"]={18,12,9,7} + } + minetest.swap_node(pos, {name="arrow_signs:shared_locked",param2=convert_facedir[node.name][node.param2-1]}) + end, }) - -minetest.register_craft({ - output = 'arrow_signs:shared_locked_up', - recipe = { - { 'arrow_signs:wall_up', 'locks:lock', '' }, - }, -}) - -minetest.register_craft({ - output = 'arrow_signs:shared_locked_down', - recipe = { - { 'arrow_signs:wall_down', 'locks:lock', '' }, - }, -}) - - -minetest.register_craft({ - output = 'arrow_signs:shared_locked_right', - recipe = { - { 'group:', 'locks:lock', '' }, - }, -}) \ No newline at end of file diff --git a/textures/arrow_sign_right.png b/textures/arrow_sign.png similarity index 100% rename from textures/arrow_sign_right.png rename to textures/arrow_sign.png diff --git a/textures/arrow_sign_border_down.png b/textures/arrow_sign_border_down.png new file mode 100644 index 0000000000000000000000000000000000000000..5b0c083aeba489ff151b1e00bea2ae4fff1a14e6 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~j!3HF+SL($BDYhhUcNd2LAh=-f^2tCE&H|6f zVg?4jBOuH;Rhv&5D9B#o>FdgVkC9bS!Xk3<^S?kL+02lL66gHf+|;}hAeVu`xhOTU zBsE2$JhLQ2!QIn0AVn{g9VqVL>Eal|aXtCZ|M$oLYrCf#eE865xTm_Vukqo3c{VdX zLAErtw6^R1euf`DoHqLNG$bKl!ow7SiQCg1*nDK7dKms55Ma{H-ct>-#M9N!Wt~$( F699cCMNFdgVkC9bSo2RFytO6(`n;8;O;+&tGo0?YwFVdQ I&MBb@0HhBsG5`Po literal 0 HcmV?d00001 diff --git a/textures/arrow_sign_border_up.png b/textures/arrow_sign_border_up.png new file mode 100644 index 0000000000000000000000000000000000000000..45eb19027b37f3b90a144f7b9706253b1d243946 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~j!3HF+SL($BDYhhUcNd2LAh=-f^2tCE&H|6f zVg?4jBOuH;Rhv&5D9B#o>FdgVkC9bSgU>VGWjatuHZvrm#5q4VH#M&W$Yo$~E=o-- zNlj5G&n(GMaQE~LNYP7W2Z}p+x;Tb#Tu)9(NJ#kc{qe1OHkA*b5A(L&w~sU4Q&BO; zG0e81v9ou2bP0 Hl+XkKI4ebQ literal 0 HcmV?d00001 diff --git a/textures/arrow_sign_down.png b/textures/arrow_sign_down.png deleted file mode 100644 index 8d42d10a01e1c64cce32579f7859af975645808e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 676 zcmV;V0$crwP)@i?8SGiYwwP{E*-UMT1y2!bFIOuFq4=&rgh>L%z< zh$4bO@xmymh#;x(qK0jXvUFv(ah&*aX1e{l2tp_Gs^{{{^L%)oub@hDGb3&53&s2t z9)AmEdlA)DkN@CRgcJzHEq3~~sxYP1@7%n2nRTa!mE}!LzhrewFgbIL$D{X=l?{aA z`Ik|40&FXV;;6@#lI}zcZIKXX2QL!v>2$>my#6ru()g~%y8!OS3pgBtqXSVI;yr9> zZk~^P#40G{iwf4_B)XBT4Ja**f})Ylb<2zfZ*TLZa`ZKY}hbR)^u zS`MF9$BAQ64#!QLt%s;n*Kw-bINc_8FCqf@RH8 z@pze-EilxgvoJkYyTQWr7_MM~XwU(`@X#5WBXx8qR7_RFjGn>_$7%!2aE!adr^TJo z*PI(X$@r7EZ&9X&jF^@gtYKEZz4SbWB<^C9kC3Q;Ld$%ohb<(1x$tdyqY?ZFrw zkpOZtvnwO20lJaIwo>Ru5-H0PptSr|*u^w@Fo9i6Q{Q=m|E51y-^#GU$O^0g0000< KMNUMnLSTXkPe3OC diff --git a/textures/arrow_sign_left.png b/textures/arrow_sign_left.png deleted file mode 100644 index 92bbf35732702e75a752ce304b6e3818c7d4d96e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 658 zcmV;D0&V??P)o5t=M3(*JJ!NLv&2BA=gZUsUAfDj$RL)4*T z9lb;>Qb9^xgrE|kv>-)8bkhu1Lvz2J-I<-)ubJsEXn#XJ*B5^8^Sti^|GWeMeR~W5 zLrIWHt}d{T=h+0nbaK&f>onhwXv#M8k!E_-XnV@7>ZBYcLy$zRH}re9D!hfmE|}W zFNN4hYN)j$p z*K|C=9%9EM6ze@G=_SX3ZJYM!y<2>qUZel|dE%oVkP9isUe8m>rP0e(N@b0F!Digrh&0p5LKwun+yk zIHs}v_X`caZhK;6n9Y?1z9mdtx`zL7BdvZnW!+$FL!)RmlHb*l{T6xE;PLY(&J7GD z!K0f4!sXldS)9w0Qx%Senh`CFbgDuotCLkV3Tl=uLu5x4nOm*kJ#xc|AT>vMI+fyC z=#;RuK5J)^Q>_0o5RG-T{3e0m8BEKhQp$kfMs7QaR!AY(f)gRT{1CbG8o8gZ0QSpd sC<&zID29??Z_$3aTKW-O9{vOU0j;g{Erx^Zu>b%707*qoM6N<$f|V{P1ONa4 diff --git a/textures/arrow_sign_up.png b/textures/arrow_sign_up.png deleted file mode 100644 index 4285f89d9d4b1d0091decbe58bd439e52164a273..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 691 zcmV;k0!;mhP)R#iZ$gCkWx)G#;Bpj7#|x+B#;;r7Jda+8g(N(2zVq=jgfAiO+3vqFtd~Rw?PpeYsT#Xz2)6ZG~*P zfUDKc(esyC*PL_*1Gv3zHe=Js&cNXUvf?MVvj)I1myN{N&lJ@p(diINiz+SM188dK z@C>wc1h@Ah#lj?od_8q`3;qrlT|H;;wi#Gz8>zK>tG8g71{<3h)>m`XAMZdf=<@Q!z>h6h_GrfFhzmqTv9Jy-`h7c>)9XUL67upm$=-g3YZFBMFO@AuA;CCUfsQ` zY@q{R1D_GTArSM{A-@AyXE3d4M?pZt6voA@D|<1uQtFTso_eISe{hJAr6QFF7NaJM zxg)YwrIDlqpOPfGR(n?l+m)P&ORlu{Wde-kY2Cq2vN zAtP=1FAxXQM4_3-Ax{YpZI32cAGvNq)1L;h`nNPzCQET2gsHcRqFu@npgbeQO3ay8 z?6D>?Du8%6IXIpqa?G3)96;GD@mh(`m-s@7*Gqg6xV#}i6{8fB7emLu*fdWN*){Z| zola`n1&)o8kr@vL_APS}XMO4x3;YiYlbZ~E={xX2lg+}y^rNvPHNALKS^n`ld>@YT X?Cb6RCna8Rgx4TnVXQ6#gRTbYH=wne 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 literal 0 HcmV?d00001 From 969362c041f3ccb43da43c31848d5e4235979253 Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 8 Jan 2014 07:55:58 +0100 Subject: [PATCH 2/8] Add homedecor in depends.txt --- depends.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/depends.txt b/depends.txt index 24a785d..767a42b 100644 --- a/depends.txt +++ b/depends.txt @@ -1,2 +1,3 @@ default -locks? \ No newline at end of file +locks? +homedecor? \ No newline at end of file From 135668b35cc4174a0d8b0244f89a5eaa5f134040 Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 8 Jan 2014 08:27:10 +0100 Subject: [PATCH 3/8] Update nodebox, redefinition, images. "Sign right" does not stick to the wall... --- init.lua | 28 +++++++++++++-------------- shared_locked.lua | 26 ++++++++++++------------- textures/arrow_sign.png | Bin 666 -> 676 bytes textures/arrow_sign_border_down.png | Bin 220 -> 262 bytes textures/arrow_sign_border_left.png | Bin 202 -> 236 bytes textures/arrow_sign_border_right.png | Bin 176 -> 215 bytes textures/arrow_sign_border_up.png | Bin 222 -> 260 bytes textures/sign.xcf | Bin 1327 -> 1485 bytes 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/init.lua b/init.lua index c7f36f8..33a8e11 100644 --- a/init.lua +++ b/init.lua @@ -68,22 +68,22 @@ minetest.register_node("arrow_signs:wall", { node_box = { type = "fixed", fixed = { - {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, - {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, - {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, - {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + { 0.25, -0.25, 0.5, -0.25, 0.5, 0.47}, + { 0.1875, -0.3125, 0.5, -0.1875, -0.25, 0.47}, + { 0.125, -0.3125, 0.5, -0.125, -0.375, 0.47}, + { 0.0625, -0.375, 0.5, -0.0625, -0.437, 0.47} } }, selection_box = { type = "fixed", fixed = { - {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, - {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, - {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, - {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + { 0.25, -0.25, 0.5, -0.25, 0.5, 0.47}, + { 0.1875, -0.3125, 0.5, -0.1875, -0.25, 0.47}, + { 0.125, -0.3125, 0.5, -0.125, -0.375, 0.47}, + { 0.0625, -0.375, 0.5, -0.0625, -0.437, 0.47} } }, - tiles = {"arrow_sign.png", "arrow_sign.png", "arrow_sign_border_right.png", "arrow_sign_border_left.png", "arrow_sign_border_up.png", "arrow_sign_border_down.png" }, + tiles = {"arrow_sign_border_left.png","arrow_sign_border_right.png","arrow_sign_border_up.png","arrow_sign_border_down.png","arrow_sign.png","arrow_sign.png"}, inventory_image = "arrow_sign.png", paramtype = "light", paramtype2 = "facedir", @@ -136,12 +136,12 @@ minetest.register_abm({ chance = 1, action = function(pos, node) local convert_facedir={ - ["arrow_signs:wall_right"]={17,15,8,6}, - ["arrow_signs:wall_left"]={19,13,10,4}, - ["arrow_signs:wall_up"]={16,14,11,5}, - ["arrow_signs:wall_down"]={18,12,9,7} + ["arrow_signs:wall_right"]={6,4,5,11,16,14}, + ["arrow_signs:wall_left"]={8,10,9,7,12,18}, + ["arrow_signs:wall_up"]={15,19,23,21,20,22}, + ["arrow_signs:wall_down"]={17,13,1,3,0,2} } - minetest.swap_node(pos, {name="arrow_signs:wall",param2=convert_facedir[node.name][node.param2-1]}) + minetest.swap_node(pos, {name="arrow_signs:wall",param2=convert_facedir[node.name][node.param2+1]}) end, }) diff --git a/shared_locked.lua b/shared_locked.lua index fa2a9d8..567c188 100644 --- a/shared_locked.lua +++ b/shared_locked.lua @@ -5,22 +5,22 @@ minetest.register_node("arrow_signs:shared_locked", { node_box = { type = "fixed", fixed = { - {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, - {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, - {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, - {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + { 0.25, -0.25, 0.5, -0.25, 0.5, 0.47}, + { 0.1875, -0.3125, 0.5, -0.1875, -0.25, 0.47}, + { 0.125, -0.3125, 0.5, -0.125, -0.375, 0.47}, + { 0.0625, -0.375, 0.5, -0.0625, -0.437, 0.47} } }, selection_box = { type = "fixed", fixed = { - {0.25, -0.5, 0.25, -0.5, -0.47, -0.25}, - {0.3125, -0.5, 0.1875, 0.25, -0.47, -0.1875}, - {0.3125, -0.5, 0.125, 0.375, -0.47, -0.125}, - {0.375, -0.5, 0.0625, 0.437, -0.47, -0.0625} + { 0.25, -0.25, 0.5, -0.25, 0.5, 0.47}, + { 0.1875, -0.3125, 0.5, -0.1875, -0.25, 0.47}, + { 0.125, -0.3125, 0.5, -0.125, -0.375, 0.47}, + { 0.0625, -0.375, 0.5, -0.0625, -0.437, 0.47} } }, - tiles = {"arrow_sign.png", "arrow_sign.png", "arrow_sign_border_right.png", "arrow_sign_border_left.png", "arrow_sign_border_up.png", "arrow_sign_border_down.png" }, + tiles = {"arrow_sign_border_left.png","arrow_sign_border_right.png","arrow_sign_border_up.png","arrow_sign_border_down.png","arrow_sign.png","arrow_sign.png"}, inventory_image = "arrow_sign.png", paramtype = "light", paramtype2 = "wallmounted", @@ -87,10 +87,10 @@ minetest.register_abm({ chance = 1, action = function(pos, node) local convert_facedir={ - ["arrow_signs:shared_locked_right"]={17,15,8,6}, - ["arrow_signs:shared_locked_left"]={19,13,10,4}, - ["arrow_signs:shared_locked_up"]={16,14,11,5}, - ["arrow_signs:shared_locked_down"]={18,12,9,7} + ["arrow_signs:shared_locked_right"]={6,4,5,11,16,14}, + ["arrow_signs:shared_locked_left"]={8,10,9,7,12,18}, + ["arrow_signs:shared_locked_up"]={15,19,23,21,20,22}, + ["arrow_signs:shared_locked_down"]={17,13,1,3,0,2} } minetest.swap_node(pos, {name="arrow_signs:shared_locked",param2=convert_facedir[node.name][node.param2-1]}) end, diff --git a/textures/arrow_sign.png b/textures/arrow_sign.png index 6d2f47fdb212e38b4c625dd190ce23fdd060ceb6..8d42d10a01e1c64cce32579f7859af975645808e 100644 GIT binary patch delta 602 zcmV-g0;T<$1*8R#Rev-t;{oGZ0006pNkl;K9-lu5REq;A^ zM`3;)pXQ>hx9@47Rc~^*8_3!QYuO@&vVvvJQt^11m@P2WqO&kPR=dH%^cb#Sf@shI z!0^x+nj>{|Csa&T!;GH74998%%y5jm!>7fa(bt?CJjwWzx8zm?tsOl)c=d*^_CCRW z+E{$XtyA+M?p+E|DNV_T*Zbv_-jJ-6rsVCx7#)!Sax=3lBdP(qk;JxA=tdGL%Mzfp o{8iY+GM!snN3~U+B{B= z^K4VkuM5-vp`JhB<$ZY{_~#J-GCzuK#wgz0MlRWh?vDasn}0EMe-zt{0WkID5rOg@ z=)N!jMrAuf=0|1D`hnsq!{rj7Xe=!xKv8iD7E`0WRD|~6D&Bw6_{b~cN(R!S!I znQW0kw6Pwes(*=zZ;O1wv8M@mCC$h7 zlgq0dZ`)1u@KJ)bL5>`Xa_W3Lb>RpBRpaC9K^()w(|;Eu>n~`ky9{ed@Ur&_R$5_T zFi**cVS?2j+=k9rZx89oERNy9U#ZgA(nxDpH@Vqi0ibxdo?+-~fuyDK(^i?cW|*-S zNY5;i`dvVE9BONPm{x|^&>XE@-CRH0ChW{=3r$GD{k~gxyyckFLm-zaDh{A3DyhVK zJR7&LqDj}#QKb_Iwa`$rOE{v43x8c$70Fq|PWG=$vzD&=!q}M+bYFN~A^`uklbGW@ eltnJ_AMgiJ72BHGz-Jf$0000!ycyq diff --git a/textures/arrow_sign_border_down.png b/textures/arrow_sign_border_down.png index 5b0c083aeba489ff151b1e00bea2ae4fff1a14e6..1e457a8e4a139b63fc31f66143907f10fc430d81 100644 GIT binary patch delta 193 zcmcb^*v1sx8Q|y6%O%Cdz`(%k>ERLtq#1!&fP)Q4UY{?z9VAd3RtvY3H^?+6GpPSxgz8S} zryCf2{LpD=u(!Idud(yte|a`FGd@8!wKTOfwq@7-{TNe!rb^EESEOZNpn0Oe$l%ZK j!ngLq%mNA=0{uWI9T&DYzZpIkXd{ECtDnm{r-UW|i0C=+ delta 148 zcmZo;y2EJP8Q|y6%O%Cdz`(%k>ERLtqy>POk%J9LUa!=P2U2WF-tI08|3PrU-sO`g z+DS~zunBeWba4#fxSssy|NG)0Y(6qkJq&*j2r%hp@2Ljbz~JfX=d#Wzp$PzkUNmO_ diff --git a/textures/arrow_sign_border_left.png b/textures/arrow_sign_border_left.png index 9a0ded8eb29a821c22b6d2e523dc12581b6fe630..e6568e8f2602fb02ca7e7527312f43c560e13c3c 100644 GIT binary patch delta 184 zcmX@b_=YjKGr-TCmrII^fq{Y7)59eQNDBZlBL^Fhyk4mn58@ODxjQkeJ16rJ$YDu$ z^mSxl*x1kgCy^D%=PdAuEM{QfI|9OtQ?>b|Cn|~xu$OrHy0YJ6-zP)to+XM)Tx{x0i+47z1_L{1ju^+{#Mb bQgj&%U+^{v;S3j3^P6`BNEiC{5 diff --git a/textures/arrow_sign_border_right.png b/textures/arrow_sign_border_right.png index fce07bdf7961290490ac741d32f39bc9b8822c04..87b64d02d46d8f096dd40ea1cdffcb18c8b922bf 100644 GIT binary patch delta 163 zcmdnMc%3o0Gr-TCmrII^fq{Y7)59eQNDBZlBL^Fhyk4mn58@ODxjQkeJ16rJ$YDu$ z^mSxl*x1kgCy^D%=PdAuEM{QfI|9OtQ?>b|Cn|~xu$OrHy0YJ6J7egm4x;OXk;vd$@? F2>>@UEjR!G delta 121 zcmcc4xPj5QGr-TCmrII^fq{Y7)59eQNHYR42L~IFw2+$W2&CAOyxmERLtq#1!&fP)Q4UY{?z9VAd3RtvY3H^?+6GpPSxgX*sS zpKoMfxRJ})VB;nuAj@E*fx+K@pIDA0r6v6O{@R%N^5fak5;Ihu=r(#;xJXL;`@7@Y i{7yy=0hW&A3=DUs2p5T8=m*-tz~JfX=d#Wzp$P!0@;%7_ delta 150 zcmZo+y2ohT8Q|y6%O%Cdz`(%k>ERLtqy>POk%J9LUa!=P2U2WF-tI08|3PrU-sO`g z+DS~zunBkaba4#fxSpJnkdW}>`{P^nY$_if0xJ)*NEj?nF*bJxr1KPph>FVdQ&MBb@0N_S7{r~^~ diff --git a/textures/sign.xcf b/textures/sign.xcf index 0be9ca01e5129318a403f072b91245ef5e01dafb..5d881344234ad5a835765e43b99e031acda039d7 100644 GIT binary patch delta 757 zcmZ3_b(VWWBO?>5>f~m|clFE+-~WGm_TlY^fBzX+8NUAiUX&h@6R&&uKLZQH*Ka>F zrx7t@9_; zTm$pIeNXF;T|B+%AVlS@o^8oH>zmGkN|ddC4Yn&tCl#L zYzIsJd=r)JGttF-|8OjmgIyjg{V9jGue4XMA#OH+yjRw zpAxI6y}|M}y`^Xt#AL;Q4eP1C&A8Q*_^{B(04GcOw}8^Z)}sI9%oq$wWGFSKke$cjIg z6eHx71Vu`~VYv1h4-=!MG)Dng?&dCWMbTIRmX=nK%A0$Y>q8W+WrW(n+_f8+)p#vc zh35h8QO-}$BlW>5~QtN67L zF{O}eoDhA2g4Zksuc`7w9CLH+&1=`zwytdjdx`x&y9EP~AQE#hu>R*_VE)g;!1!Nm iavMv7=28X*1_3B$WME+331ou+RE+f`h*QtV@E-u&FF)@9 delta 598 zcmXxeU1(Ba7zgl2o$F(>sWfdY5G}0{m9fCIVAX_OBt)B25vA3jAxB0H+XxcPIxMK> z(qeV91yb~N)&l7ZR!Db&7u(<*P8YSS-Vr-vb@6%*#QS!P^}zG+{QpQEU6xeN^lVVF%?9Rq96sKihvL( ztG}?ky0%hTUXl9)3Lx*1kx=wXXY9DANA5?k*fliK$rPf+sLxlB6<9vdbIKX$JJcQU z6nrTegk$&onbh5})YFu&&+nGuo5$}y;Xj{@`25L&jDVUwdk%X}heA=0PmTycJ}FD{JTJ;S+7N)sL4tq;)gvgvf2PR&;Y5)WIc|XEI1oQBEb<@b=LR0m@>Y`wFLhdb zvvrrQ70gyXW8xrZ=!j_TL07NKVhQphOgCC>npV5PVKfIVULII|*x`*I^<$wT z4;ouc?Z%x>yT#!Q@*LE_ynS;*Ie$!xK~dmKF{Gs}`2!Sk=Rd ztjg?yCaQyGs)aTK)xb7NfEwzjSxxo2iFOxv>$4r30KmAh8UTH}`qyWp)9 Date: Wed, 19 Mar 2014 05:43:07 +0100 Subject: [PATCH 4/8] New method for place signs. --- init.lua | 46 +++++++++++++++++++++++++++++++++++++++++++++- shared_locked.lua | 4 ++-- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/init.lua b/init.lua index 33a8e11..cb7577e 100644 --- a/init.lua +++ b/init.lua @@ -6,6 +6,50 @@ arrow_signs={} +arrow_signs_on_place = function(itemstack, placer, pointed_thing) + local function transformvector(vector) + local vectorlist ={ + {cmin = -1, cmax = -0.5}, + {cmin = -0.5, cmax = 0}, + {cmin = 0, cmax = 0.5}, + {cmin = 0.5, cmax = 1} + } + local r = {} + for n,res in pairs(vector) do + for ia=1,table.getn(vectorlist) do + if vectorlist[ia].cminres then + r[n]=ia + end + end + end + return r["x"]*10+r["z"] + end + + local pos = pointed_thing.above + local vector = transformvector(placer:get_look_dir()) + local changer = { + {31,5}, + {12,14}, + {24,11}, + {43,16}, + } + local place = false + + for i=1,table.getn(changer) do + if vector == changer[i][1] then + minetest.add_node(pos,{name = itemstack:get_name(), param2 = changer[i][2]}) + place = true + break + end + end + if not(place) then + minetest.rotate_node(itemstack, placer, pointed_thing) + else + itemstack:take_item() + return itemstack + end +end + function arrow_signs:savetext(pos, formname, fields, sender) if not minetest.get_player_privs(sender:get_player_name())["interact"] then @@ -91,7 +135,7 @@ minetest.register_node("arrow_signs:wall", { walkable = false, groups = {choppy=2,dig_immediate=2,sign=1}, sounds = default.node_sound_defaults(), - on_place = minetest.rotate_node, + on_place = arrow_signs_on_place, on_construct = function(pos) --local n = minetest.get_node(pos) local meta = minetest.get_meta(pos) diff --git a/shared_locked.lua b/shared_locked.lua index 567c188..fa21aa4 100644 --- a/shared_locked.lua +++ b/shared_locked.lua @@ -23,13 +23,13 @@ minetest.register_node("arrow_signs:shared_locked", { tiles = {"arrow_sign_border_left.png","arrow_sign_border_right.png","arrow_sign_border_up.png","arrow_sign_border_down.png","arrow_sign.png","arrow_sign.png"}, inventory_image = "arrow_sign.png", paramtype = "light", - paramtype2 = "wallmounted", + paramtype2 = "facedir", sunlight_propagates = true, walkable = false, groups = {choppy=2,dig_immediate=2,sign_locked=1}, legacy_wallmounted = true, - on_place = minetest.rotate_node, + on_place = arrow_signs_on_place, on_construct = function(pos) local meta = minetest.get_meta(pos) From 9b4970622a1e5b65930ae776522cc2cb9012bef0 Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 19 Mar 2014 06:06:34 +0100 Subject: [PATCH 5/8] Alias usless and add old node in redefinition --- init.lua | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/init.lua b/init.lua index cb7577e..a03f624 100644 --- a/init.lua +++ b/init.lua @@ -160,30 +160,24 @@ minetest.register_craft({ } }) ---Alias -minetest.register_alias("more_signs:wall_right", "arrow_signs:wall_right") -minetest.register_alias("sign_right", "arrow_signs:wall_right") - -minetest.register_alias("more_signs:wall_left", "arrow_signs:wall_left") -minetest.register_alias("sign_left", "arrow_signs:wall_left") - -minetest.register_alias("more_signs:wall_up", "arrow_signs:wall_up") -minetest.register_alias("sign_up", "arrow_signs:wall_up") - -minetest.register_alias("more_signs:wall_down", "arrow_signs:wall_down") -minetest.register_alias("sign_down", "arrow_signs:wall_down") - --Redefinition minetest.register_abm({ - nodenames = {"arrow_signs:wall_right", "arrow_signs:wall_left", "arrow_signs:wall_up", "arrow_signs:wall_down"}, + nodenames = {"arrow_signs:wall_right", "arrow_signs:wall_left", "arrow_signs:wall_up", "arrow_signs:wall_down", + "more_signs:wall_right","more_signs:wall_left","more_signs:wall_up" ,"more_signs:wall_down" + }, interval = 1, chance = 1, action = function(pos, node) local convert_facedir={ - ["arrow_signs:wall_right"]={6,4,5,11,16,14}, - ["arrow_signs:wall_left"]={8,10,9,7,12,18}, - ["arrow_signs:wall_up"]={15,19,23,21,20,22}, - ["arrow_signs:wall_down"]={17,13,1,3,0,2} + ["arrow_signs:wall_right"] = {6,4,5,11,16,14}, + ["arrow_signs:wall_left"] = {8,10,9,7,12,18}, + ["arrow_signs:wall_up"] = {15,19,23,21,20,22}, + ["arrow_signs:wall_down"] = {17,13,1,3,0,2}, + -- For old mod + ["more_signs:wall_right"] = {6,4,5,11,16,14}, + ["more_signs:wall_left"] = {8,10,9,7,12,18}, + ["more_signs:wall_up"] = {15,19,23,21,20,22}, + ["more_signs:wall_down"] = {17,13,1,3,0,2}, } minetest.swap_node(pos, {name="arrow_signs:wall",param2=convert_facedir[node.name][node.param2+1]}) end, From 129efd98d89494f9f949507c4435ffb780c989e0 Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 13 Aug 2014 17:37:00 +0200 Subject: [PATCH 6/8] New method for place signs. --- init.lua | 114 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 81 insertions(+), 33 deletions(-) diff --git a/init.lua b/init.lua index a03f624..1e3c8e6 100644 --- a/init.lua +++ b/init.lua @@ -7,47 +7,95 @@ arrow_signs={} arrow_signs_on_place = function(itemstack, placer, pointed_thing) - local function transformvector(vector) - local vectorlist ={ - {cmin = -1, cmax = -0.5}, - {cmin = -0.5, cmax = 0}, - {cmin = 0, cmax = 0.5}, - {cmin = 0.5, cmax = 1} - } - local r = {} - for n,res in pairs(vector) do - for ia=1,table.getn(vectorlist) do - if vectorlist[ia].cminres then - r[n]=ia - end - end - end - return r["x"]*10+r["z"] - end - local pos = pointed_thing.above - local vector = transformvector(placer:get_look_dir()) - local changer = { - {31,5}, - {12,14}, - {24,11}, - {43,16}, - } - local place = false + local posabove = pointed_thing.above + local posunder = pointed_thing.under + local vector = placer:get_look_dir() + local place = true - for i=1,table.getn(changer) do - if vector == changer[i][1] then - minetest.add_node(pos,{name = itemstack:get_name(), param2 = changer[i][2]}) - place = true - break + if posabove.y>posunder.y then + if(vector.z>0.5 and vector.z<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 10}) + elseif (vector.x>0.5 and vector.x<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 19}) + elseif(-0.5>vector.z and -1<=vector.z) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 4}) + elseif (-0.5>vector.x and -1<=vector.x) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 13}) + else + place = false end + elseif posabove.y0.5 and vector.z<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 8}) + elseif (vector.x>0.5 and vector.x<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 17}) + elseif(-0.5>vector.z and -1<=vector.z) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 6}) + elseif (-0.5>vector.x and -1<=vector.x) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 15}) + else + place = false + end + elseif posabove.z>posunder.z then + if(vector.y>0.75 and vector.y<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 22}) + elseif (vector.y>=-1 and vector.y<-0.75) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 2}) + elseif (vector.x>=0 and vector.x<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 18}) + elseif (vector.x<0 and vector.x>=-1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 14}) + else + place = false + end + elseif posabove.z0.75 and vector.y<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 20}) + elseif (vector.y>=-1 and vector.y<-0.75) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 0}) + elseif (vector.x>=0 and vector.x<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 16}) + elseif (vector.x<0 and vector.x>=-1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 12}) + else + place = false + end + elseif posabove.x>posunder.x then + if(vector.y>0.75 and vector.y<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 21}) + elseif (vector.y>=-1 and vector.y<-0.75) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 3}) + elseif (vector.z>=0 and vector.z<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 11}) + elseif (vector.z<0 and vector.z>=-1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 7}) + else + place = false + end + elseif posabove.x0.75 and vector.y<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 23}) + elseif (vector.y>=-1 and vector.y<-0.75) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 1}) + elseif (vector.z>=0 and vector.z<=1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 9}) + elseif (vector.z<0 and vector.z>=-1) then + minetest.add_node(posabove,{name = itemstack:get_name(), param2 = 5}) + else + place = false + end + else + place = false end + if not(place) then minetest.rotate_node(itemstack, placer, pointed_thing) else itemstack:take_item() return itemstack end + end function arrow_signs:savetext(pos, formname, fields, sender) @@ -186,6 +234,6 @@ minetest.register_abm({ --Locked sign if locks then -local MODPATH = minetest.get_modpath("arrow_signs"); -dofile(MODPATH.."/shared_locked.lua") + local MODPATH = minetest.get_modpath("arrow_signs"); + dofile(MODPATH.."/shared_locked.lua") end \ No newline at end of file From bbbe7b21926e4491037a6ca750718502132d99fd Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 13 Aug 2014 18:00:41 +0200 Subject: [PATCH 7/8] Fix for 0.4.10 (thx adrido) --- depends.txt | 3 +-- init.lua | 32 ++++++-------------------------- 2 files changed, 7 insertions(+), 28 deletions(-) diff --git a/depends.txt b/depends.txt index 767a42b..24a785d 100644 --- a/depends.txt +++ b/depends.txt @@ -1,3 +1,2 @@ default -locks? -homedecor? \ No newline at end of file +locks? \ No newline at end of file diff --git a/init.lua b/init.lua index 1e3c8e6..2183348 100644 --- a/init.lua +++ b/init.lua @@ -6,6 +6,8 @@ arrow_signs={} +arrow_signs.formspec = "field[text;Sign text:;${text}]"; + arrow_signs_on_place = function(itemstack, placer, pointed_thing) local posabove = pointed_thing.above @@ -127,31 +129,9 @@ function arrow_signs:create_lines(text) return text end - -local clone_registered = function(case,name) - local params = {} - local list - if case == "item" then list = minetest.registered_items end - if case == "node" then list = minetest.registered_nodes end - if case == "craftitem" then list = minetest.registered_craftitems end - if case == "tool" then list = minetest.registered_tools end - if case == "entity" then list = minetest.registered_entities end - if list then - for k,v in pairs(list[name]) do - params[k] = v - end - end - return params -end - --- usage -local node = clone_registered("node","default:sign_wall") -if node.legacy_wallmounted then - node.groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1} -else - node.groups = {choppy=2,dig_immediate=2,sign=1} -end -minetest.register_node(":default:sign_wall", node) +minetest.override_item("default:sign_wall", { + groups = {choppy=2,dig_immediate=2,attached_node=1,sign=1}, +}) --Sign arrow minetest.register_node("arrow_signs:wall", { @@ -187,7 +167,7 @@ minetest.register_node("arrow_signs:wall", { on_construct = function(pos) --local n = minetest.get_node(pos) local meta = minetest.get_meta(pos) - meta:set_string("formspec", "hack:sign_text_input") + meta:set_string("formspec", arrow_signs.formspec) meta:set_string("infotext", "\"\"") end, on_receive_fields = function(pos, formname, fields, sender) From d881fce213d26b8d0748d688527c5aef800b0f0c Mon Sep 17 00:00:00 2001 From: Jat Date: Wed, 13 Aug 2014 18:13:25 +0200 Subject: [PATCH 8/8] Fix return --- init.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index 2183348..c791028 100644 --- a/init.lua +++ b/init.lua @@ -95,9 +95,11 @@ arrow_signs_on_place = function(itemstack, placer, pointed_thing) minetest.rotate_node(itemstack, placer, pointed_thing) else itemstack:take_item() - return itemstack end - + + return itemstack + + end function arrow_signs:savetext(pos, formname, fields, sender)