Enable regrowth of apples
authorEzhh <owlecho@live.com>
Fri, 11 May 2018 15:42:28 +0000 (16:42 +0100)
committerParamat <paramat@users.noreply.github.com>
Fri, 11 May 2018 15:42:28 +0000 (16:42 +0100)
Apples only regrow where they first appear on trees, either on mapgen or when grown from saplings (meaning apples that were placed by players won't regrow).
Once the tree is cut down in full (leaves removed), regrowth will stop.
New apples only grow in daylight, and take the same time as a sapling to grow.

mods/default/nodes.lua

index 7d65f3000f96a81df025f30a9fd09bc47c82d7c4..c07cc6ef59504cf4f2ee3b0c5189815a06aaf208 100644 (file)
@@ -737,6 +737,35 @@ minetest.register_node("default:apple", {
        after_place_node = function(pos, placer, itemstack)
                minetest.set_node(pos, {name = "default:apple", param2 = 1})
        end,
+
+       after_dig_node = function(pos, oldnode, oldmetadata, digger)
+               if oldnode.param2 == 0 then
+                       minetest.set_node(pos, {name = "default:apple_mark"})
+                       minetest.get_node_timer(pos):start(math.random(300, 1500))
+               end
+       end,
+})
+
+minetest.register_node("default:apple_mark", {
+       description = "Apple Marker",
+       drawtype = "airlike",
+       paramtype = "light",
+       sunlight_propagates = true,
+       walkable = false,
+       pointable = false,
+       diggable = false,
+       buildable_to = true,
+       drop = "",
+       groups = {not_in_creative_inventory = 1},
+       on_timer = function(pos, elapsed)
+               if not minetest.find_node_near(pos, 1, "default:leaves") then
+                       minetest.remove_node(pos)
+               elseif minetest.get_node_light(pos) < 11 then
+                       minetest.get_node_timer(pos):start(200)
+               else
+                       minetest.set_node(pos, {name = "default:apple"})
+               end
+       end
 })