1
0
mirror of https://github.com/minetest/minetest_game.git synced 2024-12-22 15:00:18 +01:00

Bones: Search for nearby 'air' for fallback bones placement

When a player dies on ladders or rope then a space can not be found at or
above player, so this change looks around player for a space to place bones.
This commit is contained in:
tenplus1 2016-09-07 10:22:57 +01:00 committed by paramat
parent 54235f3276
commit 0cbb516ae2

View File

@ -180,14 +180,14 @@ minetest.register_on_dieplayer(function(player)
local pos = vector.round(player:getpos())
local player_name = player:get_player_name()
-- check if it's possible to place bones, if not go 1 higher
-- check if it's possible to place bones, if not find space near player
if bones_mode == "bones" and not may_replace(pos, player) then
pos.y = pos.y + 1
end
-- still cannot place bones? change mode to 'drop'
if bones_mode == "bones" and not may_replace(pos, player) then
bones_mode = "drop"
local air = minetest.find_node_near(pos, 1, {"air"})
if air and not minetest.is_protected(air, player_name) then
pos = air
else
bones_mode = "drop"
end
end
if bones_mode == "drop" then