diff options
| author | Maciej Kasatkin <mk@realbadangel.pl> | 2012-10-07 20:30:43 +0200 | 
|---|---|---|
| committer | Maciej Kasatkin <mk@realbadangel.pl> | 2012-10-07 20:30:43 +0200 | 
| commit | a546665856d8cc4141dd0afb378783e5d0fd4560 (patch) | |
| tree | 40d1b8c91e0ee0b73046e14df939cdd7bd7d1e6c | |
| parent | 0821f3913af9afccad6d9f32a795e00fa116520d (diff) | |
fixes, added MV cable
| -rw-r--r-- | alloy_furnace.lua | 2 | ||||
| -rw-r--r-- | depends.txt | 1 | ||||
| -rw-r--r-- | init.lua | 1 | ||||
| -rw-r--r-- | rubber.lua | 97 | ||||
| -rw-r--r-- | textures/technic_mv_cable.png | bin | 536 -> 290 bytes | |||
| -rw-r--r-- | wires_mv.lua | 400 | 
6 files changed, 497 insertions, 4 deletions
| diff --git a/alloy_furnace.lua b/alloy_furnace.lua index 60a5529..053d980 100644 --- a/alloy_furnace.lua +++ b/alloy_furnace.lua @@ -25,7 +25,7 @@ register_alloy_recipe ("technic:copper_dust",3, "technic:tin_dust",1, "technic:b  register_alloy_recipe ("moreores:copper_ingot",3, "moreores:tin_ingot",1, "moreores:bronze_ingot",4)  register_alloy_recipe ("technic:iron_dust",3, "technic:chromium_dust",1, "technic:stainless_steel_dust",4)  register_alloy_recipe ("default:sand",2, "technic:coal_dust",2, "technic:silicon_wafer",1) -register_alloy_recipe ("technic:silicon_wafer",1, "technic:mithril_dust",3, "technic:doped_silicon_wafer",1) +register_alloy_recipe ("technic:silicon_wafer",1, "technic:mithril_dust",2, "technic:doped_silicon_wafer",1)  minetest.register_alias("alloy_furnace", "technic:alloy_furnace") diff --git a/depends.txt b/depends.txt index e9450f3..d9c22f5 100644 --- a/depends.txt +++ b/depends.txt @@ -1,6 +1,5 @@  default  moreores -stairs  flowers  dye  pipeworks @@ -23,6 +23,7 @@ dofile(minetest.get_modpath("technic").."/mithril_chest.lua")  dofile(minetest.get_modpath("technic").."/electric_furnace.lua")  dofile(minetest.get_modpath("technic").."/battery_box.lua")  dofile(minetest.get_modpath("technic").."/wires.lua") +dofile(minetest.get_modpath("technic").."/wires_mv.lua")  dofile(minetest.get_modpath("technic").."/dyes.lua")  dofile(minetest.get_modpath("technic").."/ores.lua") @@ -1,3 +1,5 @@ +-- Code of rubber tree by PilzAdam +  minetest.register_node("technic:rubber_sapling", {  	description = "Rubber Tree Sapling",  	drawtype = "plantlike", @@ -69,7 +71,7 @@ minetest.register_abm({  	interval = 60,  	chance = 20,  	action = function(pos, node) -		farming:generate_tree(pos, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) +		technic:generate_tree(pos, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"})  	end  }) @@ -80,7 +82,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed)  	local tmp = {x=(maxp.x-minp.x)/2+minp.x, y=(maxp.y-minp.y)/2+minp.y, z=(maxp.z-minp.z)/2+minp.z}  	local pos = minetest.env:find_node_near(tmp, maxp.x-minp.x, {"default:dirt_with_grass"})  	if pos ~= nil then -		farming:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"}) +		technic:generate_tree({x=pos.x, y=pos.y+1, z=pos.z}, "technic:rubber_tree_full", "technic:rubber_leaves", {"default:dirt", "default:dirt_with_grass"})  	end  end) @@ -91,3 +93,94 @@ minetest.register_craft({  	recipe = "technic:rubber_sapling",  	burntime = 10  }) + +function technic:generate_tree(pos, trunk, leaves, underground, replacements) +	pos.y = pos.y-1 +	local nodename = minetest.env:get_node(pos).name +	local ret = true +	for _,name in ipairs(underground) do +		if nodename == name then +			ret = false +			break +		end +	end +	pos.y = pos.y+1 +	if ret or minetest.env:get_node_light(pos) < 8 then +		return +	end +	 +	node = {name = ""} +	for dy=1,4 do +		pos.y = pos.y+dy +		if minetest.env:get_node(pos).name ~= "air" then +			return +		end +		pos.y = pos.y-dy +	end +	node.name = trunk +	for dy=0,4 do +		pos.y = pos.y+dy +		minetest.env:set_node(pos, node) +		pos.y = pos.y-dy +	end +	 +	if not replacements then +		replacements = {} +	end +	 +	node.name = leaves +	pos.y = pos.y+3 +	for dx=-2,2 do +		for dz=-2,2 do +			for dy=0,3 do +				pos.x = pos.x+dx +				pos.y = pos.y+dy +				pos.z = pos.z+dz +				 +				if dx == 0 and dz == 0 and dy==3 then +					if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then +						minetest.env:set_node(pos, node) +						for name,rarity in pairs(replacements) do +							if math.random(1, rarity) == 1 then +								minetest.env:set_node(pos, {name=name}) +							end +						end +					end +				elseif dx == 0 and dz == 0 and dy==4 then +					if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then +						minetest.env:set_node(pos, node) +						for name,rarity in pairs(replacements) do +							if math.random(1, rarity) == 1 then +								minetest.env:set_node(pos, {name=name}) +							end +						end +					end +				elseif math.abs(dx) ~= 2 and math.abs(dz) ~= 2 then +					if minetest.env:get_node(pos).name == "air" then +						minetest.env:set_node(pos, node) +						for name,rarity in pairs(replacements) do +							if math.random(1, rarity) == 1 then +								minetest.env:set_node(pos, {name=name}) +							end +						end +					end +				else +					if math.abs(dx) ~= 2 or math.abs(dz) ~= 2 then +						if minetest.env:get_node(pos).name == "air" and math.random(1, 5) <= 4 then +							minetest.env:set_node(pos, node) +							for name,rarity in pairs(replacements) do +								if math.random(1, rarity) == 1 then +								minetest.env:set_node(pos, {name=name}) +								end +							end +						end +					end +				end +				 +				pos.x = pos.x-dx +				pos.y = pos.y-dy +				pos.z = pos.z-dz +			end +		end +	end +end diff --git a/textures/technic_mv_cable.png b/textures/technic_mv_cable.pngBinary files differ index f049e39..4ff7946 100644 --- a/textures/technic_mv_cable.png +++ b/textures/technic_mv_cable.png diff --git a/wires_mv.lua b/wires_mv.lua new file mode 100644 index 0000000..7924956 --- /dev/null +++ b/wires_mv.lua @@ -0,0 +1,400 @@ +--MV cable node boxes + + +minetest.register_alias("mv_cable", "technic:mv_cable") + +minetest.register_craft({ +	output = 'technic:mv_cable 3', +	recipe ={ +		{'technic:rubber','technic:rubber','technic:rubber'}, +		{'technic:lv_cable','technic:lv_cable','technic:lv_cable'}, +		{'technic:rubber','technic:rubber','technic:rubber'}, +		} +})  + + +minetest.register_craftitem("technic:mv_cable", { +	description = "Medium Voltage Copper Cable", +	stack_max = 99, +})  + +minetest.register_node("technic:mv_cable", { +	description = "Medium Voltage Copper Cable", +	tiles = {"technic_mv_cable.png"}, +	inventory_image = "technic_mv_cable_wield.png", +	wield_image = "technic_mv_cable_wield.png", +	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, +	sounds = default.node_sound_wood_defaults(), +	drop = "technic:mv_cable", +	mv_cablelike=1, +	rules_x1=0, +	rules_x2=0, +	rules_y1=0, +	rules_y2=0, +	rules_z1=0, +	rules_z2=0, +	paramtype = "light", +        drawtype = "nodebox",  +	selection_box = { +		type = "fixed", +                fixed = { +		{ -0.1 , -0.1 , -0.1 , 0.1 ,  0.1 , 0.1  }, +		}}, +	node_box = { +		type = "fixed", +                fixed = { +		{ -0.1 , -0.1 , -0.1 , 0.1 ,  0.1 , 0.1  }, +		}}, +	on_construct = function(pos) +	meta=minetest.env:get_meta(pos) +	meta:set_float("mv_cablelike",1) +	meta:set_float("x1",0) +	meta:set_float("x2",0) +	meta:set_float("y1",0) +	meta:set_float("y2",0) +	meta:set_float("z1",0) +	meta:set_float("z2",0) +	MV_check_connections (pos) +	end, + +	after_dig_node = function (pos, oldnode, oldmetadata, digger) +	MV_check_connections_on_destroy (pos) +	end, + +}) + + +str_y1=		{ -0.1 , -0.1 , -0.1 , 0.1 , 0.5, 0.1  }    --0 y+ +str_x1=		{ -0.1 , -0.1 , -0.1 , 0.5, 0.1 , 0.1  }    --0 x+ +str_z1=		{ -0.1 , -0.1 ,  0.1 ,  0.1 , 0.1 , 0.5 }   --0 z+ +str_z2=		{ -0.1 , -0.1, -0.5 ,  0.1 ,  0.1 , 0.1  }  --0 z- +str_y2=		{ -0.1 , -0.5, -0.1 ,  0.1 ,  0.1 , 0.1  }  --0 y- +str_x2=		{ -0.5 , -0.1, -0.1 ,  0.1 ,  0.1 , 0.1  }  --0 x- + + + +local x1,x2,y1,y2,z1,z2 +local count=0 + +for x1 = 0, 1, 1 do	--x- +for x2 = 0, 1, 1 do	--x+ +for y1 = 0, 1, 1 do	--y- +for y2 = 0, 1, 1 do	--y-	 +for z1 = 0, 1, 1 do	--z- +for z2 = 0, 1, 1 do	--z+ +      +temp_x1={} temp_x2={} temp_y1={} temp_y2={} temp_z1={} temp_z2={} + +if x1==1 then 	temp_x1=str_x1  end  +if x2==1 then 	temp_x2=str_x2  end  +if y1==1 then 	temp_y1=str_y1  end  +if y2==1 then 	temp_y2=str_y2  end  +if z1==1 then 	temp_z1=str_z1  end  +if z2==1 then 	temp_z2=str_z2  end  + + +minetest.register_node("technic:mv_cable"..count, { +	description = "Medium Voltage Copper Cable", +	tiles = {"technic_mv_cable.png"}, +	groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1}, +	sounds = default.node_sound_wood_defaults(), +	drop = "technic:mv_cable", +	rules_x1=0, +	rules_x2=0, +	rules_y1=0, +	rules_y2=0, +	rules_z1=0, +	rules_z2=0, +	cablelike=1, +	paramtype = "light", +        drawtype = "nodebox",  +	selection_box = { +		type = "fixed", +           fixed = { +		temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, +		}}, + +	node_box = { +		type = "fixed", +           fixed = { +		temp_x1,temp_x2,temp_y1,temp_y2,temp_z1,temp_z2, +		}}, + +	after_dig_node = function (pos, oldnode, oldmetadata, digger) +	MV_check_connections_on_destroy (pos) +	end, +	 +}) + +count=count+1 end end end end end end + +MV_check_connections = function(pos) +		local pos1={} +		pos1.x=pos.x +		pos1.y=pos.y +		pos1.z=pos.z +		 +		pos1.x=pos1.x+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		x2=1 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("x2",x2) +		meta=minetest.env:get_meta(pos) +		x1=1 +		x2=minetest.env:get_meta(pos):get_float("x2") +		y1=minetest.env:get_meta(pos):get_float("y1") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z1=minetest.env:get_meta(pos):get_float("z1") +		z2=minetest.env:get_meta(pos):get_float("z2") +		meta:set_float("x1",x1) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end + +		pos1.x=pos1.x-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		x1=1 +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("x1",x1) +		meta=minetest.env:get_meta(pos) +		x2=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		y1=minetest.env:get_meta(pos):get_float("y1") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z1=minetest.env:get_meta(pos):get_float("z1") +		z2=minetest.env:get_meta(pos):get_float("z2") +		meta:set_float("x2",x2) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end + +		pos1.x=pos1.x+1 +		 +		pos1.y=pos1.y+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		y2=1 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("y2",y2) +		meta=minetest.env:get_meta(pos) +		y1=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		x2=minetest.env:get_meta(pos):get_float("x2") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z1=minetest.env:get_meta(pos):get_float("z1") +		z2=minetest.env:get_meta(pos):get_float("z2") +		meta:set_float("y1",y1) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end +		 +		if minetest.env:get_meta(pos1):get_float("technic_mv_power_machine")==1 then +		y1=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		x2=minetest.env:get_meta(pos):get_float("x2") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z1=minetest.env:get_meta(pos):get_float("z1") +		z2=minetest.env:get_meta(pos):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos) +		meta:set_float("y1",y1) +		end + + +		pos1.y=pos1.y-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		y1=1 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("y1",y1) +		meta=minetest.env:get_meta(pos) +		y2=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		x2=minetest.env:get_meta(pos):get_float("x2") +		y1=minetest.env:get_meta(pos):get_float("y1") +		z1=minetest.env:get_meta(pos):get_float("z1") +		z2=minetest.env:get_meta(pos):get_float("z2") +		meta:set_float("y2",y2) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end +		pos1.y=pos1.y+1 + +		pos1.z=pos1.z+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		z2=1 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("z2",z2) +		meta=minetest.env:get_meta(pos) +		z1=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		x2=minetest.env:get_meta(pos):get_float("x2") +		y1=minetest.env:get_meta(pos):get_float("y1") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z2=minetest.env:get_meta(pos):get_float("z2") +		meta:set_float("z1",z1) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end +		pos1.z=pos1.z-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		z1=1 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos1,"technic:mv_cable"..rule) +		meta=minetest.env:get_meta(pos1) +		meta:set_float("z1",z1) +		meta=minetest.env:get_meta(pos) +		z2=1 +		x1=minetest.env:get_meta(pos):get_float("x1") +		x2=minetest.env:get_meta(pos):get_float("x2") +		y1=minetest.env:get_meta(pos):get_float("y1") +		y2=minetest.env:get_meta(pos):get_float("y2") +		z1=minetest.env:get_meta(pos):get_float("z1") +		meta:set_float("z2",z2) +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		hacky_swap_node(pos,"technic:mv_cable"..rule) +		end +		pos1.z=pos1.z+1 +end	 + + +MV_check_connections_on_destroy = function(pos) +		local pos1={} +		pos1.x=pos.x +		pos1.y=pos.y +		pos1.z=pos.z +		 +		pos1.x=pos1.x+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		x2=0 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("x2",x2) +		end +		 +		pos1.x=pos1.x-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		x1=0 +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("x1",x1) +		end +		pos1.x=pos1.x+1 + +		pos1.y=pos1.y+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		y2=0 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("y2",y2) +		end +		 +		pos1.y=pos1.y-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		y1=0 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("y1",y1) +		end +		pos1.y=pos1.y+1 + +		pos1.z=pos1.z+1 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		z2=0 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z1=minetest.env:get_meta(pos1):get_float("z1") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("z2",z2) +		end +		 +		pos1.z=pos1.z-2 +		if minetest.env:get_meta(pos1):get_float("mv_cablelike")==1 then +		z1=0 +		x1=minetest.env:get_meta(pos1):get_float("x1") +		x2=minetest.env:get_meta(pos1):get_float("x2") +		y1=minetest.env:get_meta(pos1):get_float("y1") +		y2=minetest.env:get_meta(pos1):get_float("y2") +		z2=minetest.env:get_meta(pos1):get_float("z2") +		rule=make_rule_number(x1,x2,y1,y2,z1,z2) +		if rule==0 then hacky_swap_node(pos1,"technic:mv_cable") end +		if rule>0  then	hacky_swap_node(pos1,"technic:mv_cable"..rule) end +		meta=minetest.env:get_meta(pos1) +		meta:set_float("z1",z1) +		end +		pos1.y=pos1.y+1 +		 +end	 + | 
