diff --git a/moremesecons_dual_delayer/depends.txt b/moremesecons_dual_delayer/depends.txt new file mode 100644 index 0000000..acaa924 --- /dev/null +++ b/moremesecons_dual_delayer/depends.txt @@ -0,0 +1 @@ +mesecons diff --git a/moremesecons_dual_delayer/init.lua b/moremesecons_dual_delayer/init.lua new file mode 100644 index 0000000..f24f1f3 --- /dev/null +++ b/moremesecons_dual_delayer/init.lua @@ -0,0 +1,82 @@ +local function dual_delayer_get_input_rules(node) + local rules = {{x=-1, y=0, z=0}} + for i = 0, node.param2 do + rules = mesecon.rotate_rules_left(rules) + end + return rules +end + +local function dual_delayer_get_output_rules(node) + local rules = {{x=0, y=0, z=-1}, {x=0, y=0, z=1}} + for i = 0, node.param2 do + rules = mesecon.rotate_rules_left(rules) + end + return rules +end + +local dual_delayer_activate = function(pos, node) + mesecon.receptor_on(pos, {dual_delayer_get_output_rules(node)[1]}) -- Turn on the port 1 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_10", param2 = node.param2}) + minetest.after(0.4, function(pos, node) + mesecon.receptor_on(pos, {dual_delayer_get_output_rules(node)[2]}) -- Turn on the port 2 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_11", param2 = node.param2}) + end, pos, node) +end + +local dual_delayer_deactivate = function(pos, node, link) + mesecon.receptor_off(pos, {dual_delayer_get_output_rules(node)[2]}) -- Turn off the port 2 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_10", param2 = node.param2}) + minetest.after(0.4, function(pos, node) + mesecon.receptor_off(pos, {dual_delayer_get_output_rules(node)[1]}) -- Turn off the port 1 + minetest.swap_node(pos, {name = "moremesecons_dual_delayer:dual_delayer_00", param2 = node.param2}) + end, pos, node) +end + + +local groups = {} +for i1=0, 1 do +for i2=0, 1 do + +if not(i1 == 0 and i2 == 1) then +if i1 == 0 and i2 == 0 then + groups = {dig_immediate = 2} +else + groups = {dig_immediate = 2, not_in_creative_inventory = 1} +end +minetest.register_node("moremesecons_dual_delayer:dual_delayer_"..tostring(i1)..tostring(i2), { + description = "Dual Delayer", + drop = "moremesecons_dual_delayer:dual_delayer_00", + inventory_image = "moremesecons_dual_delayer_00.png", + wield_image = "moremesecons_dual_delayer_00.png", + paramtype = "light", + paramtype2 = "facedir", + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = {{-6/16, -8/16, -1/16, 6/16, -7/16, 8/16 }, + {-8/16, -8/16, 1/16, -6/16, -7/16, -1/16}, + {8/16, -8/16, -1/16, 6/16, -7/16, 1/16}} + }, + groups = groups, + tiles = {"moremesecons_dual_delayer_"..tostring(i1)..tostring(i2)..".png", "moremesecons_dual_delayer_bottom.png", "moremesecons_dual_delayer_side_left.png", "moremesecons_dual_delayer_side_right.png", "moremesecons_dual_delayer_ends.png", "moremesecons_dual_delayer_ends.png"}, + mesecons = { + receptor = { + state = mesecon.state.off, + rules = dual_delayer_get_output_rules + }, + effector = { + rules = dual_delayer_get_input_rules, + action_on = dual_delayer_activate, + action_off = dual_delayer_deactivate + } + } +}) +end +end +end + +minetest.register_craft({ + type = "shapeless", + output = "moremesecons_dual_delayer:dual_delayer_00 2", + recipe = {"mesecons_delayer:delayer_off", "mesecons_delayer:delayer_off"} +}) diff --git a/moremesecons_dual_delayer/init.lua~ b/moremesecons_dual_delayer/init.lua~ new file mode 100644 index 0000000..7039836 --- /dev/null +++ b/moremesecons_dual_delayer/init.lua~ @@ -0,0 +1,62 @@ +-- The ADJUSTBALE_BLINKY_PLANT +-- File copy on blinky_plant by Jeija + +local toggle_timer = function (pos, restart) + local timer = minetest.get_node_timer(pos) + local meta = minetest.get_meta(pos) + if timer:is_started() and not restart then + timer:stop() + else + timer:start(tonumber(meta:get_int("interval"))) + end +end + +local on_timer = function (pos) + local node = minetest.get_node(pos) + if(mesecon.flipstate(pos, node) == "on") then + mesecon.receptor_on(pos) + else + mesecon.receptor_off(pos) + end + toggle_timer(pos, false) +end + +mesecon.register_node("moremesecons_adjustable_blinkyplant:adjustable_blinky_plant", { + description="Adjustable Blinky Plant", + drawtype = "plantlike", + inventory_image = "jeija_blinky_plant_off.png", + paramtype = "light", + walkable = false, + sounds = default.node_sound_leaves_defaults(), + selection_box = { + type = "fixed", + fixed = {-0.3, -0.5, -0.3, 0.3, -0.5+0.7, 0.3}, + }, + on_timer = on_timer, + on_construct = function(pos) + local meta = minetest.get_meta(pos) + meta:set_string("formspec", "field[interval;interval;${interval}]") + toggle_timer(pos, true) + end, + on_receive_fields = function(pos, formname, fields, sender) + local meta = minetest.get_meta(pos) + if not fields.interval then return end + meta:set_string("interval", fields.interval) + toggle_timer(pos, true) + end, +},{ + tiles = {"jeija_blinky_plant_off.png"}, + groups = {dig_immediate=3}, + mesecons = {receptor = { state = mesecon.state.off }} +},{ + tiles = {"jeija_blinky_plant_on.png"}, + groups = {dig_immediate=3, not_in_creative_inventory=1}, + mesecons = {receptor = { state = mesecon.state.on }}, +}) + + +minetest.register_craft({ + output = "moremesecons_adjustable_blinkyplant:adjustable_blinky_plant_off 1", + recipe = { {"mesecons_blinkyplant:blinky_plant_off"}, + {"default:mese_crystal_fragment"},} +}) diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png new file mode 100644 index 0000000..efb0394 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png new file mode 100644 index 0000000..12deba1 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png new file mode 100644 index 0000000..60f667e Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png new file mode 100644 index 0000000..6ce5cff Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_ends.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_ends.png new file mode 100644 index 0000000..54d4a08 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_ends.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_left.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_left.png new file mode 100644 index 0000000..109f756 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_left.png differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_right.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_right.png new file mode 100644 index 0000000..f8782e6 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_side_right.png differ diff --git a/moremesecons_signalchanger/init.lua b/moremesecons_signalchanger/init.lua index 877dc91..3d7a4a3 100644 --- a/moremesecons_signalchanger/init.lua +++ b/moremesecons_signalchanger/init.lua @@ -71,6 +71,6 @@ mesecon.register_node("moremesecons_signalchanger:signalchanger", { }) minetest.register_craft({ - output = "moremesecons_signalchanger_off", - recipte = {{"group:mesecon_conductor_craftable","moremesecons_switchtorch:switchtorch_on","group:mesecon_conductor_craftable"}} + output = "moremesecons_signalchanger:signalchanger_off", + recipe = {{"group:mesecon_conductor_craftable","moremesecons_switchtorch:switchtorch_on","group:mesecon_conductor_craftable"}} }) diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_off.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_off.png index 0242deb..e892102 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_off.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_off.png differ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_on.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_on.png index 19ae0cb..65015c7 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_on.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_ends_on.png differ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_off.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_off.png index 7372b37..95354b3 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_off.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_off.png differ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png index 61f52f2..7fb81bb 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_on.png differ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png index 79f3d59..4db9e72 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_off.png differ diff --git a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png index 1c8edaa..1778e26 100644 Binary files a/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png and b/moremesecons_temporarygate/textures/moremesecons_temporarygate_sides_on.png differ