PyuTest.registered_lootboxes = {}
PyuTest.spawning_lootboxes = {}
PyuTest.make_lootbox = function(name, dname, items, spawn)
	local id = name .. "_lootbox"
	core.register_node(id, {
		description = Translate(dname .. " Lootbox"),
		groups = {
			choppy = PyuTest.BLOCK_NORMAL,
			block = 1,
			not_in_creative_inventory = 1
		},
		tiles = { "pyutest-crate.png" },
		sounds = PyuTest.make_node_sounds(),
		drop = "",
		after_destruct = function(pos)
			for _, v in pairs(items) do
				core.add_item(pos, v)
			end

			core.sound_play("pyutest_lootbox_unlock", {
				pos = pos,
				gain = 1
			})
			core.remove_node(pos)
		end
	})
	PyuTest.registered_lootboxes[name] = {
		id = id,
		items = items
	}

	if spawn == true then
		PyuTest.spawning_lootboxes[#PyuTest.spawning_lootboxes + 1] = id
	end
end

PyuTest.make_lootbox("pyutest_lootboxes:trash", "Trash", {
	ItemStack("pyutest_flowers:deadbush 6"),
	ItemStack("pyutest_tools:bone 3"),
	ItemStack("pyutest_tools:ash 2")
}, true)

PyuTest.make_lootbox("pyutest_lootboxes:resource", "Resource", {
	ItemStack("pyutest_tools:gunpowder 3"),
	ItemStack("pyutest_tools:stick 4"),
	ItemStack("pyutest_tools:sugar 2"),
	ItemStack("pyutest_tools:apple 3"),
	ItemStack("pyutest_tools:string 5")
}, true)

PyuTest.make_lootbox("pyutest_lootboxes:griefer", "Griefer's Dream", {
	ItemStack("pyutest_blocks:tnt 3"),
	ItemStack("pyutest_tools:bomb 2")
}, true)

PyuTest.make_lootbox("pyutest_lootboxes:lighting", "Lighting", {
	ItemStack("pyutest_blocks:light 2"),
	ItemStack("pyutest_blocks:torch 5")
}, true)

PyuTest.make_lootbox("pyutest_lootboxes:color", "Color", {
	ItemStack("pyutest_wool:green_dye 2"),
	ItemStack("pyutest_wool:pink_dye 3"),
	ItemStack("pyutest_wool:white_dye 1"),
	ItemStack("pyutest_wool:black_dye 3"),
	ItemStack("pyutest_wool:brown_dye 2")
})

PyuTest.make_lootbox("pyutest_lootboxes:farming", "Farmer's", {
	ItemStack("pyutest_farming:wheat_seeds 5"),
	ItemStack("pyutest_farming:carrot_seeds 3"),
	ItemStack("pyutest_farming:potato_seeds 3"),
	ItemStack("pyutest_farming:pumpkin_seeds 4"),
}, true)
