tweak and tidy code

This commit is contained in:
tenplus1 2024-08-24 11:08:09 +01:00
parent b5f65bd7d2
commit 2734139214
2 changed files with 17 additions and 17 deletions

View File

@ -1,12 +1,13 @@
-- setup global with min and max growth invertals from settings
regrow = {
-- get custom min and max growth intervals from settings
min_interval = tonumber(minetest.settings:get("regrow_min_interval")) or 600,
max_interval = tonumber(minetest.settings:get("regrow_max_interval")) or 1200
}
-- hidden node that runs timer and regrows fruit stored in meta
minetest.register_node("regrow:hidden", {
drawtype = "airlike",
paramtype = "light",
@ -31,9 +32,7 @@ minetest.register_node("regrow:hidden", {
local meta = minetest.get_meta(pos)
if not meta then
return
end
if not meta then return end
local fruit = meta:get_string("fruit") or ""
local leaf = meta:get_string("leaf") or ""
@ -48,16 +47,17 @@ minetest.register_node("regrow:hidden", {
end
})
-- helper function to register fruit nodes
-- global function to register fruit nodes
regrow.add_fruit = function(nodename, leafname, ignore_param2)
-- does node actually exist ?
if not minetest.registered_nodes[nodename] then
return
end
if not minetest.registered_nodes[nodename] then return end
-- change attached_node values so fruits regrow instead of dropping
local groups = minetest.registered_nodes[nodename].groups
local def = minetest.registered_nodes[nodename]
local groups = def.groups and table.copy(def.groups) or {}
groups.attached_node = 0
minetest.override_item(nodename, {
@ -69,9 +69,7 @@ regrow.add_fruit = function(nodename, leafname, ignore_param2)
after_dig_node = function(pos, oldnode, oldmetadata, digger)
-- if node has been placed by player then do not regrow
if ignore_param2 ~= true and oldnode.param2 > 0 then
return
end
if ignore_param2 ~= true and oldnode.param2 > 0 then return end
-- replace fruit with regrowth node, set fruit & leaf name
minetest.set_node(pos, {name = "regrow:hidden"})
@ -80,12 +78,13 @@ regrow.add_fruit = function(nodename, leafname, ignore_param2)
meta:set_string("fruit", nodename)
meta:set_string("leaf", leafname)
meta:set_int("p2", oldnode.param2 or 0)
meta:set_int("p2", (oldnode.param2 or 0))
end,
})
end
-- wait until mods are loaded to save dependency mess
-- override fruits helper
local function add_fruits()
-- default
@ -137,6 +136,8 @@ local function add_fruits()
regrow.add_fruit("moretrees:spruce_cone", "moretrees:spruce_leaves")
end
-- wait until mods are loaded to save dependency mess
if minetest.register_on_mods_loaded then
minetest.register_on_mods_loaded(add_fruits)
else

View File

@ -1,4 +1,3 @@
name = regrow
depends =
optional_depends =
description = Helps to regrow tree fruits instead of replanting saplings.
min_minetest_version = 5.0