aboutsummaryrefslogtreecommitdiff
path: root/builtin/client/death_formspec.lua
diff options
context:
space:
mode:
Diffstat (limited to 'builtin/client/death_formspec.lua')
-rw-r--r--builtin/client/death_formspec.lua25
1 files changed, 19 insertions, 6 deletions
diff --git a/builtin/client/death_formspec.lua b/builtin/client/death_formspec.lua
index e755ac5c1..516a15efc 100644
--- a/builtin/client/death_formspec.lua
+++ b/builtin/client/death_formspec.lua
@@ -1,16 +1,29 @@
-- CSM death formspec. Only used when clientside modding is enabled, otherwise
-- handled by the engine.
+local dead = false
+
core.register_on_death(function()
- core.display_chat_message("You died.")
- local formspec = "size[11,5.5]bgcolor[#320000b4;true]" ..
- "label[4.85,1.35;" .. fgettext("You died") ..
- "]button_exit[4,3;3,0.5;btn_respawn;".. fgettext("Respawn") .."]"
- core.show_formspec("bultin:death", formspec)
+ if not dead then
+ core.display_chat_message("You died.")
+ local formspec = "size[11,5.5]bgcolor[#320000b4;true]" ..
+ "label[4.85,1.35;" .. fgettext("You died") ..
+ "]button_exit[4,3;3,0.5;btn_respawn;".. fgettext("Respawn") .."]"
+ core.show_formspec("bultin:death", formspec)
+ dead = true
+ end
end)
core.register_on_formspec_input(function(formname, fields)
- if formname == "bultin:death" then
+ if formname == "bultin:death" and fields.btn_respawn then
core.send_respawn()
+ dead = false
end
end)
+
+core.register_chatcommand("respawn", {
+ func = function()
+ core.send_respawn()
+ dead = false
+ end
+})