--Mod adding a plasma screen television by qwrwed


minetest.register_node("plasmascreen:stand", {
	description = "Plasma Screen TV Stand",
	tiles = {"plasmascreen_back.png"},
	paramtype = "light",
	paramtype2 = "facedir",
	drawtype = "nodebox",
	node_box = {
		type = "fixed",
		fixed = {
			{0.5000,-0.5000,0.0625,-0.5000,-0.4375,-0.5000}, --NodeBox 1
			{-0.1875,-0.5000,-0.3750,0.1875,0.1250,-0.1250}, --NodeBox 2
			{-0.5000,-0.2500,-0.5000,0.5000,0.5000,-0.3750}, --NodeBox 3
			{-0.3750,-0.1875,-0.3750,0.3750,0.3125,-0.2500}, --NodeBox 4
		}
	},
		selection_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.5000, -0.5000, 0.5000, 0.5000, 0.0000},
						}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
})

minetest.register_node("plasmascreen:screen1", {
	description = "Plasma Screen 1",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen1.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	paramtype = "light",
	paramtype2 = "facedir",
	drop = "",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.5000, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, 0.5000, 0.3750, 0.5000, 0.3125, 0.4375},
							{-0.5000, -0.5000, 0.5000, -0.3125, 0.5000, 0.3750},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-0.2500, -0.2500, 0.4500, 0.2500, 0.2500, 0.4500}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})
minetest.register_node("plasmascreen:screen2", {
	description = "Plasma Screen 2",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen2.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	paramtype = "light",
	paramtype2 = "facedir",
	drop = "",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.5000, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, 0.5000, 0.3750, 0.5000, 0.3125, 0.4375},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-0.2500, -0.2500, 0.4500, 0.2500, 0.2500, 0.4500}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})
minetest.register_node("plasmascreen:screen3", {
	description = "Plasma Screen 3",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen3.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	paramtype = "light",
	paramtype2 = "facedir",
	drop = "",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.5000, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, 0.5000, 0.3750, 0.5000, 0.3125, 0.4375},
							{0.3125, -0.5000, 0.5000, 0.5000, 0.5000, 0.3750},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-0.2500, -0.2500, 0.4500, 0.2500, 0.2500, 0.4500}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})
minetest.register_node("plasmascreen:screen4", {
	description = "Plasma Screen 4",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen4.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	paramtype = "light",
	paramtype2 = "facedir",
	drop = "",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.3125, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, -0.3125, 0.3750, 0.5000, -0.1250, 0.4375},
							{-0.5000, -0.3125, 0.5000, -0.3125, 0.5000, 0.3750},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-0.2500, -0.2500, 0.4500, 0.2500, 0.2500, 0.4500}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})

minetest.register_node("plasmascreen:screen5", {
	description = "Plasma TV",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen5.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	inventory_image = "plasmascreen_tv_inv.png",
	wield_image = "plasmascreen_tv_inv.png",
	paramtype = "light",
	paramtype2 = "facedir",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.3125, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, -0.3125, 0.3750, 0.5000, -0.1250, 0.4375},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-1.5050, -0.3125, 0.3700, 1.5050, 1.5050, 0.5050}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2},
	    
after_place_node = function(pos,placer,itemstack)
	local param2 = minetest.get_node(pos).param2
	local p = {x=pos.x, y=pos.y, z=pos.z}
		if param2 == 0 then
			pos.x = pos.x-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen4", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x+2
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen6", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.y = pos.y+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen3", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen2", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen1", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
		elseif param2 == 1 then
			pos.z = pos.z+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
        minetest.set_node(pos,{name="plasmascreen:screen4", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z-2
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen6", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.y = pos.y+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen3", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen2", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen1", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
		elseif param2 == 2 then
			pos.x = pos.x+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
        minetest.set_node(pos,{name="plasmascreen:screen4", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x-2
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen6", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.y = pos.y+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen3", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen2", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.x = pos.x+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen1", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
		elseif param2 == 3 then
			pos.z = pos.z-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
        minetest.set_node(pos,{name="plasmascreen:screen4", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z+2
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen6", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.y = pos.y+1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen3", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen2", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
			pos.z = pos.z-1
		if minetest.registered_nodes[minetest.env:get_node(pos).name].buildable_to  then
		minetest.set_node(pos,{name="plasmascreen:screen1", param2=minetest.dir_to_facedir(placer:get_look_dir())})
		else
			minetest.env:remove_node(p)
			return true
		end
		end
	end,
		
	after_dig_node = function(pos, oldnode, oldmetadata, digger)
		if oldnode.param2 == 0 then
			pos.x = pos.x-1
		minetest.remove_node(pos)
			pos.x = pos.x+2
		minetest.remove_node(pos)
			pos.y = pos.y+1
		minetest.remove_node(pos)
			pos.x = pos.x-1
		minetest.remove_node(pos)
			pos.x = pos.x-1
		minetest.remove_node(pos)
		elseif oldnode.param2 == 1 then
			pos.z = pos.z+1
        minetest.remove_node(pos)
			pos.z = pos.z-2
		minetest.remove_node(pos)
			pos.y = pos.y+1
		minetest.remove_node(pos)
			pos.z = pos.z+1
		minetest.remove_node(pos)
			pos.z = pos.z+1
		minetest.remove_node(pos)
		elseif oldnode.param2 == 2 then
			pos.x = pos.x+1
        minetest.remove_node(pos)
			pos.x = pos.x-2
		minetest.remove_node(pos)
			pos.y = pos.y+1
		minetest.remove_node(pos)
			pos.x = pos.x+1
		minetest.remove_node(pos)
			pos.x = pos.x+1
		minetest.remove_node(pos)
		elseif oldnode.param2 == 3 then
			pos.z = pos.z-1
        minetest.remove_node(pos)
			pos.z = pos.z+2
		minetest.remove_node(pos)
			pos.y = pos.y+1
		minetest.remove_node(pos)
			pos.z = pos.z-1
		minetest.remove_node(pos)
			pos.z = pos.z-1
		minetest.remove_node(pos)
		end
	end
})

minetest.register_node("plasmascreen:screen6", {
	description = "Plasma Screen 6",
	tiles = {
		"plasmascreen_back.png",
		"plasmascreen_screen.png",
		"plasmascreen_screen.png",
		"plasmascreen_back.png",
		"plasmascreen_back.png",
		{ name="plasmascreen_screen6.png",
			animation={
				type="vertical_frames",
				aspect_w=16,
				aspect_h=16,
				length=44
			}
		}

	},
	paramtype = "light",
	paramtype2 = "facedir",
	drop = "",
	drawtype = "nodebox",
	node_box = {
				type = "fixed",
				fixed = {
							{-0.5000, -0.3125, 0.4375, 0.5000, 0.5000, 0.5000},
							{-0.5000, -0.3125, 0.3750, 0.5000, -0.1250, 0.4375},
							{0.3125, -0.3125, 0.5000, 0.5000, 0.5000, 0.3750},
						}
	},
		selection_box = {
				type = "fixed",
				fixed = {-0.2500, -0.2500, 0.4500, 0.2500, 0.2500, 0.4500}
	},
	groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,not_in_creative_inventory=1},
})

minetest.register_craft({
	output = "plasmascreen:screen5",
	recipe = {
		{'default:glass', 'default:coal_lump', 'default:glass'},
		{'default:steel_ingot', 'default:copper_ingot', 'default:steel_ingot'},
		{'default:glass', 'default:glass', 'default:glass'},
	}
})

minetest.register_craft({
	type = "shapeless",
	output = "plasmascreen:screen5",
	recipe = {'homedecor:television', 'homedecor:television'},
})

minetest.register_craft({
	output = "plasmascreen:stand",
	recipe = {
		{'', '', ''},
		{'', 'default:steel_ingot', ''},
		{'group:stick', 'default:coal_lump', 'group:stick'},
	}
})