diff options
Diffstat (limited to 'mesecons_temperest/init.lua')
-rw-r--r-- | mesecons_temperest/init.lua | 93 |
1 files changed, 40 insertions, 53 deletions
diff --git a/mesecons_temperest/init.lua b/mesecons_temperest/init.lua index 3c31013..2bda111 100644 --- a/mesecons_temperest/init.lua +++ b/mesecons_temperest/init.lua @@ -1,20 +1,5 @@ --TEMPEREST-PLUG -minetest.register_node("mesecons_temperest:mesecon_plug", { - drawtype = "raillike", - paramtype = "light", - is_ground_content = true, - tile_images = {"jeija_mesecon_plug.png"}, - inventory_image = "jeija_mesecon_plug.png", - wield_image = "jeija_mesecon_plug.png", - groups = {dig_immediate=2}, - walkable = false, - selection_box = { - type = "fixed", - }, - description = "Plug", -}) - local set_node_on local set_node_off @@ -64,7 +49,8 @@ else end end -local plug_on = function(pos, node) +local plug_on = function(pos) + local node = minetest.env:get_node(pos) if node.name=="mesecons_temperest:mesecon_plug" then local lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away if lnode.name=="air" then set_node_on({x=pos.x-2, y=pos.y, z=pos.z}) end @@ -86,7 +72,8 @@ local plug_on = function(pos, node) end end -local plug_off = function(pos, node) +local plug_off = function(pos) + local node = minetest.env:get_node(pos) if node.name=="mesecons_temperest:mesecon_plug" then lnode = minetest.env:get_node({x=pos.x-1, y=pos.y, z=pos.z}) --a node between this node and the one two nodes away if lnode.name=="air" then set_node_off({x=pos.x-2, y=pos.y, z=pos.z}) end @@ -111,15 +98,29 @@ end mesecon:register_on_signal_on(plug_on) mesecon:register_on_signal_off(plug_off) -minetest.register_on_placenode(plug_off) -minetest.register_on_dignode(plug_off) +minetest.register_node("mesecons_temperest:mesecon_plug", { + drawtype = "raillike", + paramtype = "light", + is_ground_content = true, + tile_images = {"jeija_mesecon_plug.png"}, + inventory_image = "jeija_mesecon_plug.png", + wield_image = "jeija_mesecon_plug.png", + groups = {dig_immediate=2}, + walkable = false, + selection_box = { + type = "fixed", + }, + description = "Plug", + after_place_node = plug_off, + after_dig_node = plug_off +}) minetest.register_craft({ - output = 'node "mesecons_temperest:mesecon_plug" 2', + output = '"mesecons_temperest:mesecon_plug" 2', recipe = { - {'', 'node "mesecons:mesecon_off"', ''}, - {'node "mesecons:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, - {'', 'node "mesecons:mesecon_off"', ''}, + {'', '"mesecons:mesecon_off"', ''}, + {'"mesecons:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, + {'', '"mesecons:mesecon_off"', ''}, } }) @@ -151,25 +152,20 @@ minetest.register_node("mesecons_temperest:mesecon_socket_on", { type = "fixed", }, drop='"mesecons_temperest:mesecon_socket_off" 1', -}) - -minetest.register_on_dignode( - function(pos, oldnode, digger) - if oldnode.name == "mesecons_temperest:mesecon_socket_on" then - mesecon:receptor_off(pos) - end + after_dig_node = function(pos) + mesecon:receptor_off(pos) end -) +}) mesecon:add_receptor_node("mesecons_temperest:mesecon_socket_on") mesecon:add_receptor_node_off("mesecons_temperest:mesecon_socket_off") minetest.register_craft({ - output = 'node "mesecons_temperest:mesecon_socket_off" 2', + output = '"mesecons_temperest:mesecon_socket_off" 2', recipe = { - {'', 'craft "default:steel_ingot"', ''}, - {'craft "default:steel_ingot"', 'node "mesecons_temperest:mesecon_off"', 'craft "default:steel_ingot"'}, - {'', 'craft "default:steel_ingot"', ''}, + {'', '"default:steel_ingot"', ''}, + {'"default:steel_ingot"', '"mesecons_temperest:mesecon_off"', '"default:steel_ingot"'}, + {'', '"default:steel_ingot"', ''}, } }) @@ -201,32 +197,23 @@ if ENABLE_TEMPEREST==1 then selection_box = { type = "fixed", }, - }) - - minetest.register_on_placenode(function(pos, node) - if node.name=="mesecons_temperest:mesecon_inverter_on" then + after_place_node = function(pos) mesecon:receptor_on(pos) + end, + after_dig_node = function(pos) + mesecon:receptor_off(pos) end - end - ) - - minetest.register_on_dignode( - function(pos, oldnode, digger) - if oldnode.name == "mesecons_temperest:mesecon_inverter_on" then - mesecon:receptor_off(pos) - end - end - ) + }) mesecon:add_receptor_node("mesecons_temperest:mesecon_inverter_on") mesecon:add_receptor_node_off("mesecons_temperest:mesecon_inverter_off") minetest.register_craft({ - output = 'node "mesecons_temperest:mesecon_inverter_on" 2', + output = '"mesecons_temperest:mesecon_inverter_on" 2', recipe = { - {'node "mesecons_temperest:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, - {'craft "default:steel_ingot"', '', 'craft "default:steel_ingot"'}, - {'node "mesecons:mesecon_off"', 'craft "default:steel_ingot"', 'node "mesecons:mesecon_off"'}, + {'"mesecons_temperest:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, + {'"default:steel_ingot"', '', '"default:steel_ingot"'}, + {'"mesecons:mesecon_off"', '"default:steel_ingot"', '"mesecons:mesecon_off"'}, } }) end |