From 84fe9864a30bc3c21535404f9541e96df5818a76 Mon Sep 17 00:00:00 2001 From: stujones11 Date: Sat, 11 Feb 2017 19:25:19 +0000 Subject: [PATCH] Prevent model restoration in unloaded areas --- api.lua | 3 +++ init.lua | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/api.lua b/api.lua index 6ae2a17..bf196e6 100644 --- a/api.lua +++ b/api.lua @@ -315,6 +315,9 @@ meshnode.restore_all = function(parent, name) local nodedata = {} for _, ref in pairs(parent.nodes) do local pos = meshnode.get_map_pos(ref, parent) + if not minetest.get_node_or_nil(pos) then + return + end if name and minetest.is_protected(pos, name) then return end diff --git a/init.lua b/init.lua index 1f654cc..7a7e148 100644 --- a/init.lua +++ b/init.lua @@ -517,7 +517,8 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) entity.mesh_id = minetest.pos_to_string(pos) entity:set_activated(false) else - minetest.chat_send_player(name, S("Protected area").."!") + local msg = S("Protected or unloaded area") + minetest.chat_send_player(name, msg.."!") end end end