From 841be9f4cfe305579971cd28a254b5873b117244 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Wed, 6 Aug 2014 23:17:38 -0400 Subject: make pedestels/frames auto-recover after /clearobjects --- itemframes/init.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/itemframes/init.lua b/itemframes/init.lua index 6284efe..4843bbe 100644 --- a/itemframes/init.lua +++ b/itemframes/init.lua @@ -182,6 +182,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 = { -- cgit v1.2.3 From 3e696b7e72d5287d07c41438bc4558e16e1b2403 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Thu, 28 Aug 2014 15:07:19 -0400 Subject: stop nil crash if item frame was rotated by the screwdriver --- itemframes/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/itemframes/init.lua b/itemframes/init.lua index 4843bbe..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 -- cgit v1.2.3