summaryrefslogtreecommitdiff
path: root/locks/shared_locked_sign_wall.lua
diff options
context:
space:
mode:
authorVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 20:02:19 -0400
committerVanessa Ezekowitz <vanessaezekowitz@gmail.com>2016-04-01 21:09:33 -0400
commitda66780a569712c23ae4f2996cfb4608a9f9d69d (patch)
tree217556029a78bc23ad4564720afc86de97228a04 /locks/shared_locked_sign_wall.lua
parent615b22df4d423aded3613db7716943a2f389b047 (diff)
downloaddreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.gz
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.bz2
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.tar.xz
dreambuilder_modpack-da66780a569712c23ae4f2996cfb4608a9f9d69d.zip
copy all standard Dreambuilder mods in from the old subgame
(exactly as last supplied there, updates to these mods will follow later)
Diffstat (limited to 'locks/shared_locked_sign_wall.lua')
-rw-r--r--locks/shared_locked_sign_wall.lua77
1 files changed, 77 insertions, 0 deletions
diff --git a/locks/shared_locked_sign_wall.lua b/locks/shared_locked_sign_wall.lua
new file mode 100644
index 0000000..2dcf19e
--- /dev/null
+++ b/locks/shared_locked_sign_wall.lua
@@ -0,0 +1,77 @@
+
+-- allow aborting with ESC in newer Versions of MT again
+
+-- a sign
+minetest.register_node("locks:shared_locked_sign_wall", {
+ description = "Shared locked sign",
+ drawtype = "signlike",
+ tiles = {"default_sign_wall.png"},
+ inventory_image = "default_sign_wall.png",
+ wield_image = "default_sign_wall.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "wallmounted",
+ --wall_top = <default>
+ --wall_bottom = <default>
+ --wall_side = <default>
+ },
+ groups = {choppy=2,dig_immediate=2},
+ 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:;${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]"..
+ "background[-0.5,-0.5;9,5;bg_shared_locked_sign.jpg]" );
+ 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);
+ meta:set_string("infotext", '"'..fields.text..'"'.." ["..sender:get_player_name().."]");
+
+ -- a command for the lock?
+ else
+ locks:lock_handle_input( pos, formname, fields, sender );
+ end
+
+ end,
+ });
+
+
+minetest.register_craft({
+ output = 'locks:shared_locked_sign_wall',
+ recipe = {
+ { 'default:sign_wall', 'locks:lock', '' },
+ },
+})
+
+print( "[Mod] locks: loading locks:shared_locked_sign_wall");