From d677a4d1d6d2d1dc6af36b644f8f01bacf0313b7 Mon Sep 17 00:00:00 2001 From: cheapie Date: Mon, 30 Dec 2024 16:54:45 -0600 Subject: Add initial content --- init.lua | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 init.lua (limited to 'init.lua') diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..fd0aeb7 --- /dev/null +++ b/init.lua @@ -0,0 +1,93 @@ +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"}, +}) -- cgit v1.2.3