From 0cbb516ae2a8ec7acf6aa968715f3c1aa32a8f5b Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Wed, 7 Sep 2016 10:22:57 +0100 Subject: [PATCH] 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. --- mods/bones/init.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mods/bones/init.lua b/mods/bones/init.lua index 2a54ee06..9542cab0 100644 --- a/mods/bones/init.lua +++ b/mods/bones/init.lua @@ -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