aboutsummaryrefslogtreecommitdiff
path: root/builtin/client/death_formspec.lua
blob: ff484b32f6312e62796ebc61ee0364ee2044dc3b (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
38
local death_formspec = ""
	.. "size[11,5.5]"
	.. "bgcolor[#320000b4;true]"
	.. "label[4.85,1.35;" .. fgettext("You died") .. "]"
	.. "button_exit[2,3;3,0.5;btn_respawn;" .. fgettext("Respawn") .. "]"
	.. "button_exit[6,3;3,0.5;btn_ghost_mode;" .. "Ghost Mode" .. "]"
	.. "set_focus[btn_respawn;true]"

core.register_on_death(function()
	core.display_chat_message("You died at " .. core.pos_to_string(vector.round(core.localplayer:get_pos())) .. ".")
	if core.settings:get_bool("autorespawn") then
		core.send_respawn()
	else
		core.show_formspec("bultin:death", death_formspec)
	end
end)

core.register_on_formspec_input(function(formname, fields)
	if formname == "bultin:death" then
		if fields.btn_ghost_mode then
			core.display_chat_message("You are in ghost mode. Use .respawn to Respawn.")
		else
			core.send_respawn()
		end
	end
end)

core.register_chatcommand("respawn", {
	description = "Respawn when in ghost mode",
	func = function()
		if core.localplayer:get_hp() == 0 then
			core.send_respawn()
			core.display_chat_message("Respawned.")
		else
			core.display_chat_message("You are not in ghost mode.")
		end
	end
})