forked from mtcontrib/plantlife_modpack
Fix growth of tree fern saplings
While on it, factor out calls to get_node.
This commit is contained in:
parent
4e32feaa55
commit
229d6aba88
|
@ -14,10 +14,10 @@ local S = plantlife_i18n.gettext
|
|||
-- lot of code, lot to load
|
||||
|
||||
abstract_ferns.grow_giant_tree_fern = function(pos)
|
||||
local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if minetest.get_node(pos_01).name ~= "air"
|
||||
and minetest.get_node(pos_01).name ~= "ferns:sapling_giant_tree_fern"
|
||||
and minetest.get_node(pos_01).name ~= "default:junglegrass" then
|
||||
local pos_aux = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local name = minetest.get_node(pos_aux).name
|
||||
if name ~= "air" and name ~= "ferns:sapling_giant_tree_fern"
|
||||
and name ~= "default:junglegrass" then
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -64,7 +64,9 @@ abstract_ferns.grow_giant_tree_fern = function(pos)
|
|||
|
||||
local brk = false
|
||||
for i = 1, size-3 do
|
||||
if minetest.get_node({x = pos.x, y = pos.y + i, z = pos.z}).name ~= "air" then
|
||||
pos_aux.y = pos.y + i
|
||||
local name = minetest.get_node(pos_aux).name
|
||||
if not (name == "air" or (i == 1 and name == "ferns:sapling_giant_tree_fern")) then
|
||||
brk = true
|
||||
break
|
||||
end
|
||||
|
|
|
@ -13,10 +13,10 @@ assert(abstract_ferns.config.enable_treefern == true)
|
|||
|
||||
abstract_ferns.grow_tree_fern = function(pos)
|
||||
|
||||
local pos_01 = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
if minetest.get_node(pos_01).name ~= "air"
|
||||
and minetest.get_node(pos_01).name ~= "ferns:sapling_tree_fern"
|
||||
and minetest.get_node(pos_01).name ~= "default:junglegrass" then
|
||||
local pos_aux = {x = pos.x, y = pos.y + 1, z = pos.z}
|
||||
local name = minetest.get_node(pos_aux).name
|
||||
if name ~= "air" and name ~= "ferns:sapling_tree_fern"
|
||||
and name ~= "default:junglegrass" then
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -30,7 +30,9 @@ abstract_ferns.grow_tree_fern = function(pos)
|
|||
local i = 1
|
||||
local brk = false
|
||||
while (i < size) do
|
||||
if minetest.get_node({x = pos.x, y = pos.y + i, z = pos.z}).name ~= "air" then
|
||||
pos_aux.y = pos.y + i
|
||||
name = minetest.get_node(pos_aux).name
|
||||
if not (name == "air" or (i == 1 and name == "ferns:sapling_tree_fern")) then
|
||||
brk = true
|
||||
break
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue
Block a user