--Eaves Trough
minetest.register_node("mysheetmetal:eavestrough", {
	description = "Eavestrough",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, 
	node_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.3125, 0.5},
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
		}
	},

})

--Ocorner
minetest.register_node("mysheetmetal:eavestrough_ocorner", {
	description = "Eavestrough Outside Corner",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	node_box = {
		type = "fixed",
		fixed = {
			{0.1875, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{0.4375, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{0.25, 0.25, 0.25, 0.5, 0.3125, 0.5}, 
			{0.1875, 0.25, 0.25, 0.25, 0.5, 0.5},
		}
	},
	selection_box = {
		type = "fixed",
		fixed = { 
			{0.1875, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
		}
	},
})

--Icorner
minetest.register_node("mysheetmetal:eavestrough_icorner", {
	description = "Eavestrough Inside Corner",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	node_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, -0.5, -0.4375, 0.5, 0.5}, 
			{-0.4375, 0.25, 0.25, 0.5, 0.3125, 0.4375}, 
			{-0.4375, 0.25, -0.5, -0.25, 0.3125, 0.25}, 
			{-0.25, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{-0.25, 0.25, -0.5, -0.1875, 0.5, 0.1875}, 
		}
	},
	selection_box = {
		type = "fixed",
		fixed = { 
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, -0.5, -0.1875, 0.5, 0.5}, 
		}
	},
})

--Downspout
minetest.register_node("mysheetmetal:downspout", {
	description = "Downspout",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	node_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.5, 0.475, 0.125, 0.5, 0.5}, 
			{-0.125, -0.5, 0.3125, 0.125, 0.5, 0.3375}, 
			{-0.125, -0.5, 0.3125, -0.0925, 0.5, 0.5}, 
			{0.0925, -0.5, 0.3125, 0.125, 0.5, 0.5}, 
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.5, 0.3125, 0.125, 0.5, 0.5}, 
		}
	},
	after_place_node = function(pos, placer)
		local thing = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
		 if thing ~= "air" then
		    minetest.set_node(pos,{name = "mysheetmetal:downspout_bottom", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		end
		 if thing == "mysheetmetal:downspout" then
		    minetest.set_node(pos,{name = "mysheetmetal:downspout", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		end
		 if thing == "mysheetmetal:downspout_bottom" then
		    minetest.set_node(pos,{name = "mysheetmetal:downspout", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		end
	end,

})

--Evaes Trough with Downspout
minetest.register_node("mysheetmetal:eavestrough_downspout", {
	description = "Eavestrough with Downspout",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	node_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{-0.5, 0.25, 0.1875, -0.125, 0.3125, 0.5}, 
			{0.125, 0.25, 0.1875, 0.5, 0.3125, 0.5}, 

			{-0.125, 0, 0.395, 0.125, 0.3125, 0.4375}, 
			{-0.125, 0, 0.25, 0.125, 0.3125, 0.29}, 
			{-0.125, 0, 0.25, -0.0925, 0.3125, 0.4375}, 
			{0.0925, 0, 0.25, 0.125, 0.3125, 0.4375}, 
			{-0.125, -0.0625, 0.25, 0.125, 0.0625, 0.5}, 

			{-0.125, -0.125, 0.3125, 0.125, -0.0625, 0.5}, 
			{-0.125, -0.1875, 0.375, 0.125, -0.125, 0.5}, 


			{-0.125, -0.1875,   0.5, 0.125, 0,             1.375}, 
			{-0.125, -0.5,      1.3125, 0.125, -0.125,     1.335}, 
			{-0.125, -0.5,      1.475, 0.125, -0.125,     1.5}, 
			{-0.125, -0.5,      1.3125, -0.0925, -0.125,   1.5}, 
			{0.0925, -0.5,      1.3125, 0.125, -0.125,     1.5}, 
			{-0.125, -0.25,     1.25, 0.125, -0.0625,      1.4375}, 
			{-0.125, -0.25,      1.25, 0.125, -0.125,     1.5}, 
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
			{-0.125, 0.25, 0.25, 0.125, -0.125, 0.4375},
			{-0.125, -0.1875,   0.5, 0.125, 0, 1.375},
			{-0.125, -0.125, 1.3125, 0.125, -0.5, 1.5},
		}
	},


})
--Bottom
minetest.register_node("mysheetmetal:downspout_bottom", {
	description = "Downspout Bottom",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	drop = "eavestrough:downspout",
	node_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.1875, 0.3125, 0.125, 0.5, 0.3375}, 
			{-0.125, -0.1875, 0.475, 0.125, 0.5, 0.5}, 
			{-0.125, -0.1875, 0.3125, -0.0925, 0.5, 0.5}, 
			{0.0925, -0.1875, 0.3125, 0.125, 0.5, 0.5}, 

			{-0.125, -0.25, 0.25, 0.125, -0.1875, 0.5}, 
			{-0.125, -0.3125, 0.1875, 0.125, -0.25, 0.5}, 
			{-0.125, -0.475, 0.25, 0.125, -0.3125, 0.375}, 
			{-0.125, -0.3125, 0.25, 0.125, -0.435, 0.4375}, 

			{-0.125, -0.335, -0.125, 0.125, -0.3125, 0.475}, 
			{-0.125, -0.5, -0.125, 0.125, -0.475, 0.3125}, 
			{-0.125, -0.5, -0.125, -0.0925, -0.3125, 0.3125}, 
			{0.0925, -0.5, -0.125, 0.125, -0.3125, 0.3125}, 
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.5, 0.3125, 0.125, 0.5, 0.5},
			{-0.125, -0.5, -0.125, 0.125, -0.3125, 0.5},  
		}
	},
	on_punch = function(pos, node, puncher, pointed_thing)
		minetest.set_node({x = pos.x, y = pos.y, z = pos.z},{name = "mysheetmetal:downspout_bottomw", param2=node.param2})
	end

})

--Bottom with Water
minetest.register_node("mysheetmetal:downspout_bottomw", {
	description = "Downspout Bottom with Water",
	tiles = {
		"mysheetmetal_water_top.png",
		"mysheetmetal_white.png",
		"mysheetmetal_water_top.png^[transformR270",
		"mysheetmetal_water_top.png^[transformR90",
		"mysheetmetal_water_back.png",
		"mysheetmetal_water_front.png",
		},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	drop = "eavestrough:downspout",
	node_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.1875, 0.3125, 0.125, 0.5, 0.3375}, 
			{-0.125, -0.1875, 0.475, 0.125, 0.5, 0.5}, 
			{-0.125, -0.1875, 0.3125, -0.0925, 0.5, 0.5}, 
			{0.0925, -0.1875, 0.3125, 0.125, 0.5, 0.5}, 

			{-0.125, -0.25, 0.25, 0.125, -0.1875, 0.5}, 
			{-0.125, -0.3125, 0.1875, 0.125, -0.25, 0.5}, 
			{-0.125, -0.475, 0.25, 0.125, -0.3125, 0.375}, 
			{-0.125, -0.3125, 0.25, 0.125, -0.435, 0.4375}, 

			{-0.125, -0.335, -0.125, 0.125, -0.3125, 0.475}, 
			{-0.125, -0.5, -0.125, 0.125, -0.475, 0.3125}, 
			{-0.125, -0.5, -0.125, -0.0925, -0.3125, 0.3125}, 
			{0.0925, -0.5, -0.125, 0.125, -0.3125, 0.3125}, 

			{-0.0625, -0.5, -0.4375, 0.0625, -0.375, 0.125}, 
			{-0.1875, -0.5, -0.5, 0.1875, -0.4375, -0.1875}, 
			{-0.25, -0.5, -0.4375, 0.25, -0.4375, -0.1255}, 
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.125, -0.5, 0.3125, 0.125, 0.5, 0.5},
			{-0.125, -0.5, -0.125, 0.125, -0.3125, 0.5}, 
		}
	},

	on_punch = function(pos, node, puncher, pointed_thing)
		minetest.set_node(pos,{name = "mysheetmetal:downspout_bottom", param2=node.param2})
	end

})



--Eavestrough with right cap
minetest.register_node("mysheetmetal:eavestrough_rc", {
	description = "Eavestrough rc",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1},
	node_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.3125, 0.5},
			{0.4375, 0.25, 0.1875, 0.5, 0.5, 0.5},
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
		}
	},

})
--Eavestrough with left cap
minetest.register_node("mysheetmetal:eavestrough_lc", {
	description = "Eavestrough lc",
	tiles = {"mysheetmetal_white.png"},
	drawtype = "nodebox",
	paramtype = "light",
	paramtype2 = "facedir",
	groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, 
	node_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.4375, 0.5, 0.5, 0.5}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.25}, 
			{-0.5, 0.25, 0.1875, 0.5, 0.3125, 0.5},
			{-0.4375, 0.25, 0.1875, -0.5, 0.5, 0.5},
		}
	},
	selection_box = {
		type = "fixed",
		fixed = {
			{-0.5, 0.25, 0.1875, 0.5, 0.5, 0.5}, 
		}
	},
})