diff --git a/moremesecons_dual_delayer/init.lua b/moremesecons_dual_delayer/init.lua index 46f3a99..bf89cfb 100644 --- a/moremesecons_dual_delayer/init.lua +++ b/moremesecons_dual_delayer/init.lua @@ -33,46 +33,59 @@ local dual_delayer_deactivate = function(pos, node, link) end -local groups = {} -for i1=0, 1 do -for i2=0, 1 do +for n,i in pairs({{0,0},{1,0},{1,1}}) do + local i1,i2 = unpack(i) -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 + local groups = {dig_immediate = 2} + if n ~= 1 then + groups.not_in_creative_inventory = 1 + end + + local top_texture = "^moremesecons_dual_delayer_overlay.png^[makealpha:255,126,126" + if i1 == i2 then + if i1 == 0 then + top_texture = "mesecons_wire_off.png"..top_texture + else + top_texture = "mesecons_wire_on.png"..top_texture + end + else + local pre = "mesecons_wire_off.png^[lowpart:50:mesecons_wire_on.png^[transformR" + if i1 == 0 then + pre = pre.. 90 + else + pre = pre.. 270 + end + top_texture = pre..top_texture + end + + minetest.register_node("moremesecons_dual_delayer:dual_delayer_"..i1 ..i2, { + description = "Dual Delayer", + drop = "moremesecons_dual_delayer:dual_delayer_00", + inventory_image = top_texture, + wield_image = top_texture, + 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}} }, - effector = { - rules = dual_delayer_get_input_rules, - action_on = dual_delayer_activate, - action_off = dual_delayer_deactivate + groups = groups, + tiles = {top_texture, "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({ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png deleted file mode 100644 index efb0394..0000000 Binary files a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_00.png and /dev/null differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png deleted file mode 100644 index 12deba1..0000000 Binary files a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_01.png and /dev/null differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png deleted file mode 100644 index 60f667e..0000000 Binary files a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_10.png and /dev/null differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png deleted file mode 100644 index 6ce5cff..0000000 Binary files a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_11.png and /dev/null differ diff --git a/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_overlay.png b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_overlay.png new file mode 100644 index 0000000..d48f8d5 Binary files /dev/null and b/moremesecons_dual_delayer/textures/moremesecons_dual_delayer_overlay.png differ