local meseconrules = { vector.new(1,0,0), vector.new(-1,0,0), vector.new(0,0,1), vector.new(0,0,-1), vector.new(1,1,0), vector.new(-1,1,0), vector.new(0,1,1), vector.new(0,1,-1), } core.register_node("bm_to_mesecons:converter_off",{ description = "Basic Machines to Mesecons Converter", tiles = { "bm_to_mesecons_converter_off.png", "bm_to_mesecons_converter_sides.png", }, use_texture_alpha = "opaque", is_ground_content = false, paramtype = "light", drawtype = "nodebox", node_box = { type = "fixed", fixed = { {-0.5,-0.5,-0.5,0.5,-0.47,0.5}, {-0.438,-0.47,-0.438,0.438,-0.42,0.438}, }, }, groups = { dig_immediate = 2, }, effector = { action_on = function(pos) local node = core.get_node(pos) node.name = "bm_to_mesecons:converter_on" core.swap_node(pos,node) mesecon.receptor_on(pos,meseconrules) core.get_node_timer(pos):start(0.5) end, }, mesecons = { receptor = { state = mesecon.state.off, rules = meseconrules, }, }, on_construct = function(pos) core.get_meta(pos):set_string("infotext","Basic Machines to Mesecons Converter") end, }) core.register_node("bm_to_mesecons:converter_on",{ description = "Basic Machines to Mesecons Converter (on state - you hacker you!)", tiles = { "bm_to_mesecons_converter_on.png", "bm_to_mesecons_converter_sides.png", }, use_texture_alpha = "opaque", is_ground_content = false, paramtype = "light", drawtype = "nodebox", node_box = { type = "fixed", fixed = { {-0.5,-0.5,-0.5,0.5,-0.47,0.5}, {-0.438,-0.47,-0.438,0.438,-0.42,0.438}, }, }, groups = { dig_immediate = 2, not_in_creative_inventory = 1, }, drop = "bm_to_mesecons:converter_off", mesecons = { receptor = { state = mesecon.state.on, rules = meseconrules, }, }, on_timer = function(pos) local node = core.get_node(pos) if node.name ~= "bm_to_mesecons:converter_on" then return end node.name = "bm_to_mesecons:converter_off" core.swap_node(pos,node) mesecon.receptor_off(pos,meseconrules) end, }) core.register_craft({ output = "bm_to_mesecons:converter_off", type = "shapeless", recipe = {"basic_machines:mesecon_adapter"}, })