From 863ef26b633470fc25c0dc365387fefc620e876c Mon Sep 17 00:00:00 2001 From: Jeija Date: Fri, 17 Aug 2012 11:59:06 +0200 Subject: [PATCH] Make isolated wires depend on facedir, rename them to 'insulated' --- mesecons/internal.lua | 4 +- .../depends.txt | 0 mesecons_insulated/init.lua | 72 ++++++++++++++++++ mesecons_isolated/init.lua | 57 -------------- ....png => jeija_insulated_wire_ends_off.png} | Bin ...n.png => jeija_insulated_wire_ends_on.png} | Bin ...des.png => jeija_insulated_wire_sides.png} | Bin 7 files changed, 74 insertions(+), 59 deletions(-) rename {mesecons_isolated => mesecons_insulated}/depends.txt (100%) create mode 100644 mesecons_insulated/init.lua delete mode 100644 mesecons_isolated/init.lua rename mesecons_textures/textures/{jeija_isolated_wire_ends_off.png => jeija_insulated_wire_ends_off.png} (100%) rename mesecons_textures/textures/{jeija_isolated_wire_ends_on.png => jeija_insulated_wire_ends_on.png} (100%) rename mesecons_textures/textures/{jeija_isolated_wire_sides.png => jeija_insulated_wire_sides.png} (100%) diff --git a/mesecons/internal.lua b/mesecons/internal.lua index ebd9511..08750a8 100644 --- a/mesecons/internal.lua +++ b/mesecons/internal.lua @@ -243,7 +243,7 @@ function mesecon:turnon(pos) if mesecon:is_conductor_off(node.name) then local rules = mesecon:conductor_get_rules(node) - minetest.env:add_node(pos, {name=mesecon:get_conductor_on(node.name)}) + minetest.env:add_node(pos, {name=mesecon:get_conductor_on(node.name), param2 = node.param2}) while rules[i]~=nil do local np = {} @@ -272,7 +272,7 @@ function mesecon:turnoff(pos) --receptor rules used because output could have be if mesecon:is_conductor_on(node.name) then rules = mesecon:conductor_get_rules(node) - minetest.env:add_node(pos, {name=mesecon:get_conductor_off(node.name)}) + minetest.env:add_node(pos, {name=mesecon:get_conductor_off(node.name), param2 = node.param2}) while rules[i]~=nil do local np = { diff --git a/mesecons_isolated/depends.txt b/mesecons_insulated/depends.txt similarity index 100% rename from mesecons_isolated/depends.txt rename to mesecons_insulated/depends.txt diff --git a/mesecons_insulated/init.lua b/mesecons_insulated/init.lua new file mode 100644 index 0000000..bfe16f4 --- /dev/null +++ b/mesecons_insulated/init.lua @@ -0,0 +1,72 @@ +minetest.register_node("mesecons_insulated:insulated_on", { + drawtype = "nodebox", + description = "insulated mesecons", + tiles = { + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_ends_on.png", + "jeija_insulated_wire_ends_on.png", + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_sides.png" + }, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + stack_max = 99, + selection_box = { + type = "fixed", + fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 } + }, + node_box = { + type = "fixed", + fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 } + }, + groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1, not_in_creative_inventory = 1}, + drop = "mesecons_insulated:insulated_off", + +}) + +minetest.register_node("mesecons_insulated:insulated_off", { + drawtype = "nodebox", + description = "insulated mesecons", + tiles = { + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_ends_off.png", + "jeija_insulated_wire_ends_off.png", + "jeija_insulated_wire_sides.png", + "jeija_insulated_wire_sides.png" + }, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + stack_max = 99, + selection_box = { + type = "fixed", + fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 } + }, + node_box = { + type = "fixed", + fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 } + }, + groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1}, +}) + +mesecon:add_rules("insulated_all", { --all possible rules +{x = 1, y = 0, z = 0}, +{x =-1, y = 0, z = 0}, +{x = 0, y = 0, z = 1}, +{x = 0, y = 0, z =-1},}) + +mesecon:add_rules("insulated", { +{x = 1, y = 0, z = 0}, +{x =-1, y = 0, z = 0},}) + +function insulated_wire_get_rules(param2) + if param2 == 1 or param2 == 3 then + return mesecon:rotate_rules_right(mesecon:get_rules("insulated")) + end + return mesecon:get_rules("insulated") +end + +mesecon:register_conductor("mesecons_insulated:insulated_on", "mesecons_insulated:insulated_off", mesecon:get_rules("insulated_all"), insulated_wire_get_rules) diff --git a/mesecons_isolated/init.lua b/mesecons_isolated/init.lua deleted file mode 100644 index cfddc8e..0000000 --- a/mesecons_isolated/init.lua +++ /dev/null @@ -1,57 +0,0 @@ -minetest.register_node("mesecons_isolated:isolated_on", { - drawtype = "nodebox", - description = "isolated mesecons", - tiles = { - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_ends_on.png", - "jeija_isolated_wire_ends_on.png", - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_sides.png" - }, - paramtype = "light", - walkable = false, - stack_max = 99, - selection_box = { - type = "fixed", - fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 } - }, - node_box = { - type = "fixed", - fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 } - }, - groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1}, - drop = "mesecons_isolated:isolated_off", - -}) - -minetest.register_node("mesecons_isolated:isolated_off", { - drawtype = "nodebox", - description = "isolated mesecons", - tiles = { - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_ends_off.png", - "jeija_isolated_wire_ends_off.png", - "jeija_isolated_wire_sides.png", - "jeija_isolated_wire_sides.png" - }, - paramtype = "light", - walkable = false, - stack_max = 99, - selection_box = { - type = "fixed", - fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 } - }, - node_box = { - type = "fixed", - fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 } - }, - groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1, not_in_creative_inventory = 1}, -}) - -mesecon:add_rules("isolated", { -{x = 1, y = 0, z = 0}, -{x =-1, y = 0, z = 0},}) - -mesecon:register_conductor("mesecons_isolated:isolated_on", "mesecons_isolated:isolated_off", mesecon:get_rules("isolated")) diff --git a/mesecons_textures/textures/jeija_isolated_wire_ends_off.png b/mesecons_textures/textures/jeija_insulated_wire_ends_off.png similarity index 100% rename from mesecons_textures/textures/jeija_isolated_wire_ends_off.png rename to mesecons_textures/textures/jeija_insulated_wire_ends_off.png diff --git a/mesecons_textures/textures/jeija_isolated_wire_ends_on.png b/mesecons_textures/textures/jeija_insulated_wire_ends_on.png similarity index 100% rename from mesecons_textures/textures/jeija_isolated_wire_ends_on.png rename to mesecons_textures/textures/jeija_insulated_wire_ends_on.png diff --git a/mesecons_textures/textures/jeija_isolated_wire_sides.png b/mesecons_textures/textures/jeija_insulated_wire_sides.png similarity index 100% rename from mesecons_textures/textures/jeija_isolated_wire_sides.png rename to mesecons_textures/textures/jeija_insulated_wire_sides.png