make fast growth saplings work
This commit is contained in:
parent
12bcdfe57b
commit
debe6a852b
|
@ -32,7 +32,7 @@ ftrunk.after_destruct = function(pos, oldnode)
|
||||||
-- minetest.dig_node(coconutpos) does not cause nearby coconuts to be dropped :-( ...
|
-- minetest.dig_node(coconutpos) does not cause nearby coconuts to be dropped :-( ...
|
||||||
--minetest.dig_node(coconutpos)
|
--minetest.dig_node(coconutpos)
|
||||||
local items = minetest.get_node_drops(minetest.get_node(coconutpos).name)
|
local items = minetest.get_node_drops(minetest.get_node(coconutpos).name)
|
||||||
minetest.swap_node(coconutpos, biome_lib.air)
|
minetest.swap_node(coconutpos, {name = "air"})
|
||||||
for _, itemname in pairs(items) do
|
for _, itemname in pairs(items) do
|
||||||
minetest.add_item(coconutpos, itemname)
|
minetest.add_item(coconutpos, itemname)
|
||||||
end
|
end
|
||||||
|
@ -127,7 +127,7 @@ local coconut_growfn = function(pos, elapsed)
|
||||||
minetest.add_item(pos, itemname)
|
minetest.add_item(pos, itemname)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
-- Grow coconuts to the next stage
|
-- Grow coconuts to the next stage
|
||||||
|
|
|
@ -52,7 +52,7 @@ ftrunk.after_destruct = function(pos, oldnode)
|
||||||
for _,datespos in pairs(dates) do
|
for _,datespos in pairs(dates) do
|
||||||
-- minetest.dig_node(datespos) does not cause nearby dates to be dropped :-( ...
|
-- minetest.dig_node(datespos) does not cause nearby dates to be dropped :-( ...
|
||||||
local items = minetest.get_node_drops(minetest.get_node(datespos).name)
|
local items = minetest.get_node_drops(minetest.get_node(datespos).name)
|
||||||
minetest.swap_node(datespos, biome_lib.air)
|
minetest.swap_node(datespos, {name = "air"})
|
||||||
for _, itemname in pairs(items) do
|
for _, itemname in pairs(items) do
|
||||||
minetest.add_item(datespos, itemname)
|
minetest.add_item(datespos, itemname)
|
||||||
end
|
end
|
||||||
|
@ -547,7 +547,7 @@ local dates_growfn = function(pos, elapsed)
|
||||||
elseif string.find(node.name, "moretrees:dates_m") then
|
elseif string.find(node.name, "moretrees:dates_m") then
|
||||||
minetest.swap_node(pos, {name="moretrees:dates_n"})
|
minetest.swap_node(pos, {name="moretrees:dates_n"})
|
||||||
else
|
else
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
end
|
end
|
||||||
return
|
return
|
||||||
elseif node.name == "moretrees:dates_f0" and math.random(100) <= 100 * dates_regrow_prob then
|
elseif node.name == "moretrees:dates_f0" and math.random(100) <= 100 * dates_regrow_prob then
|
||||||
|
@ -587,7 +587,7 @@ local dates_growfn = function(pos, elapsed)
|
||||||
elseif string.match(node.name, "n$") then
|
elseif string.match(node.name, "n$") then
|
||||||
-- Remove stems.
|
-- Remove stems.
|
||||||
if math.random(stems_drop_ichance) == 1 then
|
if math.random(stems_drop_ichance) == 1 then
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
return "stemdrop"
|
return "stemdrop"
|
||||||
end
|
end
|
||||||
action = "nostemdrop"
|
action = "nostemdrop"
|
||||||
|
|
36
init.lua
36
init.lua
|
@ -95,25 +95,6 @@ dofile(modpath.."/saplings.lua")
|
||||||
dofile(modpath.."/crafts.lua")
|
dofile(modpath.."/crafts.lua")
|
||||||
|
|
||||||
-- tree spawning setup
|
-- tree spawning setup
|
||||||
|
|
||||||
if moretrees.spawn_saplings then
|
|
||||||
moretrees.spawn_beech_object = "moretrees:beech_sapling_ongen"
|
|
||||||
moretrees.spawn_apple_tree_object = "moretrees:apple_tree_sapling_ongen"
|
|
||||||
moretrees.spawn_oak_object = "moretrees:oak_sapling_ongen"
|
|
||||||
moretrees.spawn_sequoia_object = "moretrees:sequoia_sapling_ongen"
|
|
||||||
moretrees.spawn_palm_object = "moretrees:palm_sapling_ongen"
|
|
||||||
moretrees.spawn_date_palm_object = "moretrees:date_palm_sapling_ongen"
|
|
||||||
moretrees.spawn_cedar_object = "moretrees:cedar_sapling_ongen"
|
|
||||||
moretrees.spawn_rubber_tree_object = "moretrees:rubber_tree_sapling_ongen"
|
|
||||||
moretrees.spawn_willow_object = "moretrees:willow_sapling_ongen"
|
|
||||||
moretrees.spawn_birch_object = "moretrees:birch_sapling_ongen"
|
|
||||||
moretrees.spawn_spruce_object = "moretrees:spruce_sapling_ongen"
|
|
||||||
moretrees.spawn_jungletree_object = "moretrees:jungletree_sapling_ongen"
|
|
||||||
moretrees.spawn_fir_object = "moretrees:fir_sapling_ongen"
|
|
||||||
moretrees.spawn_fir_snow_object = "snow:sapling_pine"
|
|
||||||
moretrees.spawn_poplar_object = "moretrees:poplar_sapling_ongen"
|
|
||||||
moretrees.spawn_poplar_small_object = "moretrees:poplar_small_sapling_ongen"
|
|
||||||
else
|
|
||||||
moretrees.spawn_beech_object = moretrees.beech_model
|
moretrees.spawn_beech_object = moretrees.beech_model
|
||||||
moretrees.spawn_apple_tree_object = moretrees.apple_tree_model
|
moretrees.spawn_apple_tree_object = moretrees.apple_tree_model
|
||||||
moretrees.spawn_oak_object = moretrees.oak_model
|
moretrees.spawn_oak_object = moretrees.oak_model
|
||||||
|
@ -130,7 +111,6 @@ else
|
||||||
moretrees.spawn_fir_snow_object = "moretrees.grow_fir_snow"
|
moretrees.spawn_fir_snow_object = "moretrees.grow_fir_snow"
|
||||||
moretrees.spawn_poplar_object = moretrees.poplar_model
|
moretrees.spawn_poplar_object = moretrees.poplar_model
|
||||||
moretrees.spawn_poplar_small_object = moretrees.poplar_small_model
|
moretrees.spawn_poplar_small_object = moretrees.poplar_small_model
|
||||||
end
|
|
||||||
|
|
||||||
--[[ if moretrees.enable_beech then
|
--[[ if moretrees.enable_beech then
|
||||||
biome_lib:register_generate_plant(moretrees.beech_biome, moretrees.spawn_beech_object)
|
biome_lib:register_generate_plant(moretrees.beech_biome, moretrees.spawn_beech_object)
|
||||||
|
@ -199,7 +179,7 @@ end ]]
|
||||||
-- Code to spawn a birch tree
|
-- Code to spawn a birch tree
|
||||||
|
|
||||||
function moretrees.grow_birch(pos)
|
function moretrees.grow_birch(pos)
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
if math.random(1,2) == 1 then
|
if math.random(1,2) == 1 then
|
||||||
minetest.spawn_tree(pos, moretrees.birch_model1)
|
minetest.spawn_tree(pos, moretrees.birch_model1)
|
||||||
else
|
else
|
||||||
|
@ -210,7 +190,7 @@ end
|
||||||
-- Code to spawn a spruce tree
|
-- Code to spawn a spruce tree
|
||||||
|
|
||||||
function moretrees.grow_spruce(pos)
|
function moretrees.grow_spruce(pos)
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
if math.random(1,2) == 1 then
|
if math.random(1,2) == 1 then
|
||||||
minetest.spawn_tree(pos, moretrees.spruce_model1)
|
minetest.spawn_tree(pos, moretrees.spruce_model1)
|
||||||
else
|
else
|
||||||
|
@ -264,10 +244,10 @@ function moretrees.grow_jungletree(pos)
|
||||||
moretrees.jungletree_model.rules_b = moretrees.jt_rules_b2
|
moretrees.jungletree_model.rules_b = moretrees.jt_rules_b2
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
local leaves = minetest.find_nodes_in_area({x = pos.x-1, y = pos.y, z = pos.z-1}, {x = pos.x+1, y = pos.y+10, z = pos.z+1}, "default:leaves")
|
local leaves = minetest.find_nodes_in_area({x = pos.x-1, y = pos.y, z = pos.z-1}, {x = pos.x+1, y = pos.y+10, z = pos.z+1}, "default:leaves")
|
||||||
for leaf in ipairs(leaves) do
|
for leaf in ipairs(leaves) do
|
||||||
minetest.swap_node(leaves[leaf], biome_lib.air)
|
minetest.swap_node(leaves[leaf], {name = "air"})
|
||||||
end
|
end
|
||||||
minetest.spawn_tree(pos, moretrees.jungletree_model)
|
minetest.spawn_tree(pos, moretrees.jungletree_model)
|
||||||
end
|
end
|
||||||
|
@ -291,10 +271,10 @@ function moretrees.grow_fir(pos)
|
||||||
moretrees.fir_model.iterations = 7
|
moretrees.fir_model.iterations = 7
|
||||||
moretrees.fir_model.random_level = 5
|
moretrees.fir_model.random_level = 5
|
||||||
|
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
local leaves = minetest.find_nodes_in_area({x = pos.x, y = pos.y, z = pos.z}, {x = pos.x, y = pos.y+5, z = pos.z}, "default:leaves")
|
local leaves = minetest.find_nodes_in_area({x = pos.x, y = pos.y, z = pos.z}, {x = pos.x, y = pos.y+5, z = pos.z}, "default:leaves")
|
||||||
for leaf in ipairs(leaves) do
|
for leaf in ipairs(leaves) do
|
||||||
minetest.swap_node(leaves[leaf], biome_lib.air)
|
minetest.swap_node(leaves[leaf], {name = "air"})
|
||||||
end
|
end
|
||||||
minetest.spawn_tree(pos,moretrees.fir_model)
|
minetest.spawn_tree(pos,moretrees.fir_model)
|
||||||
end
|
end
|
||||||
|
@ -318,10 +298,10 @@ function moretrees.grow_fir_snow(pos)
|
||||||
moretrees.fir_model.iterations = 2
|
moretrees.fir_model.iterations = 2
|
||||||
moretrees.fir_model.random_level = 2
|
moretrees.fir_model.random_level = 2
|
||||||
|
|
||||||
minetest.swap_node(pos, biome_lib.air)
|
minetest.swap_node(pos, {name = "air"})
|
||||||
local leaves = minetest.find_nodes_in_area({x = pos.x, y = pos.y, z = pos.z}, {x = pos.x, y = pos.y+5, z = pos.z}, "default:leaves")
|
local leaves = minetest.find_nodes_in_area({x = pos.x, y = pos.y, z = pos.z}, {x = pos.x, y = pos.y+5, z = pos.z}, "default:leaves")
|
||||||
for leaf in ipairs(leaves) do
|
for leaf in ipairs(leaves) do
|
||||||
minetest.swap_node(leaves[leaf], biome_lib.air)
|
minetest.swap_node(leaves[leaf], {name = "air"})
|
||||||
end
|
end
|
||||||
minetest.spawn_tree(pos,moretrees.fir_model)
|
minetest.spawn_tree(pos,moretrees.fir_model)
|
||||||
end
|
end
|
||||||
|
|
|
@ -482,6 +482,12 @@ for i in ipairs(moretrees.treelist) do
|
||||||
minetest.chat_send_all("can grow")
|
minetest.chat_send_all("can grow")
|
||||||
minetest.chat_send_all("grow_" .. treename)
|
minetest.chat_send_all("grow_" .. treename)
|
||||||
--moretrees["grow_" .. treename](pos)
|
--moretrees["grow_" .. treename](pos)
|
||||||
|
if type(moretrees["spawn_" .. treename .. "_object"])=="string" then
|
||||||
|
local split = moretrees["spawn_" .. treename .. "_object"]:split(".")
|
||||||
|
moretrees[split[2]](pos)
|
||||||
|
else
|
||||||
|
minetest.spawn_tree(pos, moretrees["spawn_" .. treename .. "_object"])
|
||||||
|
end
|
||||||
else
|
else
|
||||||
minetest.get_node_timer(pos):start(300)
|
minetest.get_node_timer(pos):start(300)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue