aboutsummaryrefslogtreecommitdiff
path: root/games/minimal/mods/give_initial_stuff/init.lua
blob: 491a531e42c4f1245dd509fb6066d7ba0959d3c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
local give_if_not_gotten_already = function(inv, list, item)
	if not inv:contains_item(list, item) then
		inv:add_item(list, item)
	end
end

local give_initial_stuff = function(player)
	local inv = player:get_inventory()
	give_if_not_gotten_already(inv, "main", "basetools:pick_mese")
	give_if_not_gotten_already(inv, "main", "basetools:axe_steel")
	give_if_not_gotten_already(inv, "main", "basetools:shovel_steel")
	give_if_not_gotten_already(inv, "main", "bucket:bucket")
	give_if_not_gotten_already(inv, "main", "testnodes:light14")
	give_if_not_gotten_already(inv, "main", "chest_of_everything:chest")
	minetest.log("action", "[give_initial_stuff] Giving initial stuff to "..player:get_player_name())
end

minetest.register_on_newplayer(function(player)
	if minetest.settings:get_bool("give_initial_stuff", true) then
		give_initial_stuff(player)
	end
end)

minetest.register_chatcommand("stuff", {
	params = "",
	privs = { give = true },
	description = "Give yourself initial items",
	func = function(name, param)
		local player = minetest.get_player_by_name(name)
		if not player or not player:is_player() then
			return false, "No player."
		end
		give_initial_stuff(player)
		return true
	end,
})