From 471daf57aed8b775eae571a6b8301bf2e7f70e9a Mon Sep 17 00:00:00 2001 From: BlockMen Date: Tue, 21 May 2013 17:25:53 +0300 Subject: [PATCH 1/3] let apples always drop --- mods/default/functions.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/default/functions.lua b/mods/default/functions.lua index c5245f76..60ec99ca 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -284,7 +284,7 @@ minetest.register_abm({ -- Drop stuff other than the node itself itemstacks = minetest.get_node_drops(n0.name) for _, itemname in ipairs(itemstacks) do - if itemname ~= n0.name then + if itemname == "default:apple" or itemname ~= n0.name then local p_drop = { x = p0.x - 0.5 + math.random(), y = p0.y - 0.5 + math.random(), From 42ef1d10d5155b61eb17646462c677b1109b30af Mon Sep 17 00:00:00 2001 From: BlockMen Date: Tue, 21 May 2013 17:26:40 +0300 Subject: [PATCH 2/3] add apple to decay group --- mods/default/nodes.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index 26e02ed5..16b18044 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -1124,7 +1124,7 @@ minetest.register_node("default:apple", { type = "fixed", fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2} }, - groups = {fleshy=3,dig_immediate=3,flammable=2}, + groups = {fleshy=3,leafdecay=3,dig_immediate=3,flammable=2}, on_use = minetest.item_eat(4), sounds = default.node_sound_defaults(), }) From a87b4a8e65ab029407e7e4f962793904a5ee0928 Mon Sep 17 00:00:00 2001 From: BlockMen Date: Tue, 21 May 2013 17:34:42 +0300 Subject: [PATCH 3/3] don't decay leaves and apple when placed by player --- mods/default/functions.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mods/default/functions.lua b/mods/default/functions.lua index 60ec99ca..94aa9878 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -299,3 +299,14 @@ minetest.register_abm({ end end }) + +--leaves and apple do not decay when placed by player +minetest.register_on_placenode(function(pos, newnode, placer, oldnode) + if placer:is_player() then + local d = minetest.registered_nodes[newnode.name].groups.leafdecay + if d or not d == 0 then + newnode.param2 = 1 + minetest.env:set_node(pos, newnode) + end + end +end)