summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeg9 <dazeg9@gmail.com>2014-11-09 21:44:00 +0100
committerZeg9 <dazeg9@gmail.com>2014-11-09 21:44:00 +0100
commit645def2457cd85436810ac9725ce9ba6165ee9c2 (patch)
tree2d97959838d655a01c0e282d13051ea0b8ed1eba
parent5a09e72c03ec809bbd3ff87ea42ceac7ecb27c76 (diff)
parent3e696b7e72d5287d07c41438bc4558e16e1b2403 (diff)
downloaditemframes-645def2457cd85436810ac9725ce9ba6165ee9c2.tar.gz
itemframes-645def2457cd85436810ac9725ce9ba6165ee9c2.tar.bz2
itemframes-645def2457cd85436810ac9725ce9ba6165ee9c2.zip
Merge pull request #2 from VanessaE/master
make pedestels/frames auto-recover after /clearobjects
-rw-r--r--itemframes/init.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/itemframes/init.lua b/itemframes/init.lua
index 6284efe..f5c8ce0 100644
--- a/itemframes/init.lua
+++ b/itemframes/init.lua
@@ -66,6 +66,7 @@ local update_item = function(pos, node)
if meta:get_string("item") ~= "" then
if node.name == "itemframes:frame" then
local posad = facedir[node.param2]
+ if not posad then return end
pos.x = pos.x + posad.x*6.5/16
pos.y = pos.y + posad.y*6.5/16
pos.z = pos.z + posad.z*6.5/16
@@ -182,6 +183,21 @@ minetest.register_node("itemframes:pedestal",{
end,
})
+-- automatically restore entities lost from frames/pedestals
+-- due to /clearobjects or similar
+
+minetest.register_abm({
+ nodenames = { "itemframes:frame", "itemframes:pedestal" },
+ interval = 15,
+ chance = 1,
+ action = function(pos, node, active_object_count, active_object_count_wider)
+ if #minetest.get_objects_inside_radius(pos, 0.5) > 0 then return end
+ update_item(pos, node)
+ end
+})
+
+-- crafts
+
minetest.register_craft({
output = 'itemframes:frame',
recipe = {