-- add item called plumba
-- and let it destroy only the poop to change it to box

minetest.register_node("poop:box", {
	description = "cardboard box",
	tiles = {"BOX.png"},
	
	drop = 'poop:box',
	legacy_mineral = true,
	drawtype = "nodebox",
    paramtype = "light",
    node_box = {
        type = "fixed",
        fixed = {
            {-0.25, -0.5, -0.3125, 0.25, -0.3125, 0.3125}, -- NodeBox6
            {-0.3125, -0.3125, -0.375, 0.3125, -0.1875, 0.4375}, -- NodeBox7
            {-0.3125, -0.1875, -0.4375, 0.3125, 0, 0.5}, -- NodeBox8
            {-0.25, 0, 0.1875, 0.25, 0.5, 0.5}, -- NodeBox9
        }
    }
})

minetest.register_node("poop:floor", {
	description = "Floor",
	tiles = {"floor.png"},
	
	drop = 'poop:floor',
	legacy_mineral = true,
})

minetest.register_node("poop:Poop", {
	description = "Just Shit",
	tiles = {"Poop.png"},
	drop = 'poop:PoopItem',
})

minetest.register_node("poop:tv", {
	description = "CRT TV",
	tiles = {"PC2.png", "PC2.png","PC2.png","PC.png","PC2.png","PC2.png"},
	
	drop = 'poop:Poop',
})

minetest.register_node("poop:bricks", {
	description = "Bricks",
	tiles = {"Bricks.png"},
	
	drop = 'poop:grey_bricks',
})
minetest.register_node("poop:grey_bricks", {
	description = "Bricks 2",
	tiles = {"Bricks2.png"},
	
	drop = 'poop:grey_bricks',
})
minetest.register_node("poop:planks", {
	description = "Planks",
	tiles = {"Planks.png"},
	
	drop = 'poop:planks',
})
minetest.register_node("poop:purpleblock", {
	description = "Purple Block",
	tiles = {"purpleblock.png"},
	
	drop = 'poop:purpleblock',
})
minetest.register_node("poop:purpleblock", {
	description = "Purple Block",
	tiles = {"purpleblock.png"},
	
	drop = 'poop:purpleblock',
})
minetest.register_node("poop:redblock", {
	description = "Red Block",
	tiles = {"redblock.png"},
	
	drop = 'poop:redblock',
})

minetest.register_node("poop:aquablock", {
	description = "Aqua Block",
	tiles = {"aquablock.png"},
	
	drop = 'poop:aquablock',
})
minetest.register_node("poop:glass", {
	description = "Glass",
	tiles = {"glass.png"},
	
	drop = 'poop:glass',
})
minetest.register_node("poop:Poop2", {
	description = "Poop with more density", 
	tiles = {"sraka.png"},
	
	drop = 'poop:Poop',
})

minetest.register_node("poop:flux_capacitor", {
	description = "Flux Capacitor from Back to the Future",
	tiles = {"fluxcap2.png", "fluxcap2.png","fluxcap2.png","fluxcap.png","fluxcap2.png","fluxcap2.png"},
	
	drop = 'poop:Poop',
})
minetest.register_alias("mapgen_stone", "poop:floor")

local pooped_things = 0

minetest.register_craftitem("poop:plumba", {
	description = "Plumba",
	inventory_image = "plumba.png",
	on_use = function(itemstack, user, pointed_thing)
		-- check if pointing at a node
		if pointed_thing.type ~= "node" then
			return
		end
		minetest.add_node(pointed_thing.under, {name="poop:box"})
		pooped_things = pooped_things + 1
			-- make a GUI box that shows how many poops you have changed to boxes with button to escape
			local formspec = "size[8,8]"..
				"button_exit[0,0;8,8;exit;You have changed "..pooped_things.." poops to boxes!]"
			minetest.show_formspec(user:get_player_name(), "poop:plumba", formspec)	
		return itemstack
	end,
})

-- add item called pooper

minetest.register_craftitem("poop:pooper", {
	description = "Pooper",
	inventory_image = "SHITitem.png",
	on_use = function(itemstack, user, pointed_thing)
		-- check if pointing at a node
		if pointed_thing.type ~= "node" then
			return
		end
		-- make a random number between 1 and 10
		local random_number = math.random(1, 10)
		if random_number < 5 then
			minetest.add_node(pointed_thing.under, {name="poop:Poop"})
		else 
			minetest.add_node(pointed_thing.under, {name="poop:Poop2"})
		end
		return itemstack
	end,
})

minetest.register_on_joinplayer(function(player) 
	-- make a GUI box that tells you how to play the game
	local formspec = "size[8,8]"..
		"button_exit[0,0;8,8;exit;Welcome to Poop Simulator! To play, poop on the ground using pooper and then use the plumba to change it to a box!]"
	minetest.show_formspec(player:get_player_name(), "poop:welcome", formspec)
	player:get_inventory():set_list("main", {})

	player:setpos({x=0, y=10, z=0})
	-- set time to day
	minetest.set_timeofday(0.5)
	minetest.sound_play("pooping_together", {
		gain = 1, 
		pitch = 1,
		loop = true,
	})
	player:get_inventory():add_item("main", "poop:plumba")
	player:get_inventory():add_item("main", "poop:pooper")

	-- give the player all the possible nodes in this mod 2000 times
	--for i = 1, 2000 do
	--	player:get_inventory():add_item("main", "poop:floor")
	--	player:get_inventory():add_item("main", "poop:tv")
	--	player:get_inventory():add_item("main", "poop:bricks")
	--	player:get_inventory():add_item("main", "poop:grey_bricks")
--player:get_inventory():add_item("main", "poop:planks")
	--	player:get_inventory():add_item("main", "poop:purpleblock")
	--	player:get_inventory():add_item("main", "poop:redblock")
	--	player:get_inventory():add_item("main", "poop:aquablock")
	--	player:get_inventory():add_item("main", "poop:glass")
	--	player:get_inventory():add_item("main", "poop:flux_capacitor")
	--end
end)