From c994ac532695a214881bd3ee47842db65700fe0a Mon Sep 17 00:00:00 2001 From: Christian Danscheid Date: Mon, 12 Aug 2013 10:37:13 +0200 Subject: Prepared digiline listening code --- trafficlight/init.lua | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'trafficlight') diff --git a/trafficlight/init.lua b/trafficlight/init.lua index d7b093b..bec4410 100644 --- a/trafficlight/init.lua +++ b/trafficlight/init.lua @@ -29,13 +29,31 @@ minetest.register_node(":streets:trafficlight_bottom",{ minetest.chat_send_player(placer:get_player_name(),"Not enough vertical space! The traffic light has a height of 3 blocks.") minetest.remove_node(pos) end + -- + pos.y = pos.y - 2 + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[channel;Channel;${channel}]") end, after_dig_node = function(pos, oldnode, oldmetadata, digger) pos.y = pos.y + 1 minetest.remove_node(pos) pos.y = pos.y + 1 minetest.remove_node(pos) - end + end, + on_receive_fields = function(pos, formname, fields, sender) + minetest.env:get_meta(pos):set_string("channel", fields.channel) + end, + digiline = { + receptor = {}, + effector = { + action = function(pos,node,channel,msg) + local setchannel = minetest.get_meta(pos):get_string("channel") + if channel == setchannel then + -- Trafficlight code goes here + end + end + } + } }) minetest.register_node(":streets:trafficlight_middle",{ -- cgit v1.2.3