tweak and tidy code
This commit is contained in:
parent
b5f65bd7d2
commit
2734139214
31
init.lua
31
init.lua
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user