diff options
| author | khonkhortisan <khonkhortisan@gmail.com> | 2013-06-19 19:38:34 -0700 | 
|---|---|---|
| committer | khonkhortisan <khonkhortisan@gmail.com> | 2013-06-20 09:30:26 -0700 | 
| commit | 885899cbaf6ccb2d22a3495131204ea0d01131ed (patch) | |
| tree | 93269364b92cfa582cbd027f428934161fb9c82d /mesecons_extrawires/crossover.lua | |
| parent | 6efe579f68eff1deaa08cf34e44d0c0411f8c498 (diff) | |
Crossover
Diffstat (limited to 'mesecons_extrawires/crossover.lua')
| -rw-r--r-- | mesecons_extrawires/crossover.lua | 151 | 
1 files changed, 151 insertions, 0 deletions
diff --git a/mesecons_extrawires/crossover.lua b/mesecons_extrawires/crossover.lua new file mode 100644 index 0000000..b150e03 --- /dev/null +++ b/mesecons_extrawires/crossover.lua @@ -0,0 +1,151 @@ +function crossover_get_rules(node) +	return { +		{--first wire +			{x=-1,y=0,z=0}, +			{x=1,y=0,z=0}, +		}, +		{--second wire +			{x=0,y=0,z=-1}, +			{x=0,y=0,z=1}, +		}, +	} +end + +local crossover_states = { +	"mesecons_extrawires:crossover_off", +	"mesecons_extrawires:crossover_01", +	"mesecons_extrawires:crossover_10", +	"mesecons_extrawires:crossover_on", +} + +minetest.register_node("mesecons_extrawires:crossover_off", { +	description = "Insulated Crossover", +	drawtype = "nodebox", +	tiles = {"jeija_insulated_wire_sides_off.png"}, +	paramtype = "light", +	walkable = false, +	stack_max = 99, +	selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, +	node_box = { +		type = "fixed", +		fixed = { +			{ -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, +			{ -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, +			{ -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, +			{ -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, +		}, +	}, +	groups = {dig_immediate=3, mesecon=3, mesecon_conductor_craftable=1}, +	mesecons = { +		conductor = { +			states = crossover_states, +			rules = crossover_get_rules(), +		} +	}, +}) + +minetest.register_node("mesecons_extrawires:crossover_01", { +	description = "You hacker you!", +	drop = "mesecons_extrawires:crossover_off", +	drawtype = "nodebox", +	tiles = {"default_dirt.png"}, +	paramtype = "light", +	walkable = false, +	stack_max = 99, +	selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, +	node_box = { +		type = "fixed", +		fixed = { +			{ -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, +			{ -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, +			{ -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, +			{ -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, +		}, +	}, +	groups = {dig_immediate=3, mesecon=3, mesecon_conductor_craftable=1, not_in_creative_inventory=1}, +	mesecons = { +		conductor = { +			states = crossover_states, +			rules = crossover_get_rules(), +		} +	}, +}) + +minetest.register_node("mesecons_extrawires:crossover_10", { +	description = "You hacker you!", +	drop = "mesecons_extrawires:crossover_off", +	drawtype = "nodebox", +	tiles = {"default_stone.png"}, +	paramtype = "light", +	walkable = false, +	stack_max = 99, +	selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, +	node_box = { +		type = "fixed", +		fixed = { +			{ -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, +			{ -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, +			{ -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, +			{ -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, +		}, +	}, +	groups = {dig_immediate=3, mesecon=3, mesecon_conductor_craftable=1, not_in_creative_inventory=1}, +	mesecons = { +		conductor = { +			states = crossover_states, +			rules = crossover_get_rules(), +		} +	}, +}) + +minetest.register_node("mesecons_extrawires:crossover_on", { +	description = "You hacker you!", +	drop = "mesecons_extrawires:crossover_off", +	drawtype = "nodebox", +	tiles = {"jeija_insulated_wire_sides_on.png"}, +	paramtype = "light", +	walkable = false, +	stack_max = 99, +	selection_box = {type="fixed", fixed={-16/32-0.0001, -18/32, -16/32-0.001, 16/32+0.001, -5/32, 16/32+0.001}}, +	node_box = { +		type = "fixed", +		fixed = { +			{ -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, +			{ -3/32, -17/32, -16/32-0.001, 3/32, -13/32, -6/32 }, +			{ -3/32, -13/32, -9/32, 3/32, -6/32, -6/32 }, +			{ -3/32, -9/32, -9/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -13/32, 6/32, 3/32, -6/32, 9/32 }, +			{ -3/32, -17/32, 6/32, 3/32, -13/32, 16/32+0.001 }, +		}, +	}, +	groups = {dig_immediate=3, mesecon=3, mesecon_conductor_craftable=1, not_in_creative_inventory=1}, +	mesecons = { +		conductor = { +			states = crossover_states, +			rules = crossover_get_rules(), +		} +	}, +}) + +minetest.register_craft({ +	type = "shapeless", +	output = "mesecons_extrawires:crossover_off", +	recipe = { +		"mesecons_insulated:insulated_off", +		"mesecons_insulated:insulated_off", +	}, +}) + +minetest.register_craft({ +	type = "shapeless", +	output = "mesecons_insulated:insulated_off 2", +	recipe = { +		"mesecons_extrawires:crossover_off", +	}, +})  | 
