8 Commits

Author SHA1 Message Date
6bdb533906 Fix trunk duplication 2021-08-24 12:15:54 +02:00
c62610f544 Try to fix crash 2021-08-18 16:20:56 +02:00
8e2148ffc3 Merge remote-tracking branch 'upstream/master' 2021-07-24 13:12:23 +02:00
680b02f7e2 fix crash for sure this time 2021-07-19 23:56:47 -04:00
a2976c609a update all generate, spawn, and grow calls
to use "." instead of ":" notation
(quells all those "deprecated" warnings)
2021-07-19 14:18:01 -04:00
46717958bc use biome_lib.get_nodedef_field
instead of biome_lib:get_nodedef_field
(change `.` to `:`)
2021-07-19 14:08:57 -04:00
5ac025cda4 Merge remote-tracking branch 'upstream/master' 2021-07-03 17:29:19 +02:00
52b2d18523 make moss buildable_to
and make sunflower attached_node like other plants
2021-06-29 13:44:00 -04:00
19 changed files with 189 additions and 167 deletions

View File

@ -188,7 +188,7 @@ abstract_bushes.grow_bush_node = function(pos,dir, leaf_type)
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"stoneage:grass_with_silex",
@ -230,7 +230,7 @@ abstract_bushes.grow_youngtree_node2 = function(pos, height)
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"stoneage:grass_with_silex",

View File

@ -30,7 +30,7 @@ local modpath = minetest.get_modpath('bushes_classic')
dofile(modpath..'/cooking.lua')
dofile(modpath..'/nodes.lua')
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = 3600,
spawn_plants = bushes_classic.spawn_list,
avoid_radius = 10,

View File

@ -1,6 +1,6 @@
--Map Generation Stuff
biome_lib:register_generate_plant(
biome_lib.register_on_generate(
{
surface = {
"default:dirt_with_grass",
@ -20,7 +20,7 @@ biome_lib:register_generate_plant(
}
)
biome_lib:register_generate_plant(
biome_lib.register_on_generate(
{
surface = {
"default:desert_sand",

View File

@ -95,7 +95,7 @@ minetest.register_node("dryplants:juncus_02", {
-- GENERATE SMALL JUNCUS
-----------------------------------------------------------------------------------------------
-- near water or swamp
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
--"default:desert_sand",
@ -116,7 +116,7 @@ biome_lib:register_generate_plant({
abstract_dryplants.grow_juncus
)
-- at dunes/beach
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
--"default:dirt_with_grass",
--"default:desert_sand",

View File

@ -11,7 +11,7 @@ abstract_dryplants.grow_grass_variation = function(pos)
minetest.swap_node(pos, {name="dryplants:grass_short"})
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
},

View File

@ -7,7 +7,7 @@
-- Looked at code from: default
-----------------------------------------------------------------------------------------------
biome_lib:register_generate_plant(
biome_lib.register_on_generate(
{
surface = {
"default:dirt_with_grass",

View File

@ -330,7 +330,7 @@ minetest.register_entity("dryplants:reedmace_water_entity",{
-----------------------------------------------------------------------------------------------
-- SPAWN REEDMACE
-----------------------------------------------------------------------------------------------
--[[biome_lib:spawn_on_surfaces({
--[[biome_lib.register_active_spawner({
spawn_delay = 1200,
spawn_plants = {"dryplants:reedmace_sapling"},
spawn_chance = 400,
@ -351,7 +351,7 @@ minetest.register_entity("dryplants:reedmace_water_entity",{
-- GENERATE REEDMACE
-----------------------------------------------------------------------------------------------
-- near water or swamp
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"default:desert_sand",
@ -372,7 +372,7 @@ biome_lib:register_generate_plant({
abstract_dryplants.grow_reedmace
)
-- in water
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt",
"default:dirt_with_grass",
@ -395,7 +395,7 @@ biome_lib:register_generate_plant({
abstract_dryplants.grow_reedmace_water
)
-- for oases & tropical beaches & tropical swamps
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:sand",
"sumpf:sumpf"

View File

@ -87,7 +87,7 @@ end
-----------------------------------------------------------------------------------------------
if abstract_ferns.config.lady_ferns_near_tree == true then
biome_lib:register_generate_plant({ -- near trees (woodlands)
biome_lib.register_on_generate({ -- near trees (woodlands)
surface = {
"default:dirt_with_grass",
"default:mossycobble",
@ -116,7 +116,7 @@ if abstract_ferns.config.lady_ferns_near_tree == true then
end
if abstract_ferns.config.lady_ferns_near_rock == true then
biome_lib:register_generate_plant({ -- near stone (mountains)
biome_lib.register_on_generate({ -- near stone (mountains)
surface = {
"default:dirt_with_grass",
"default:mossycobble",
@ -143,7 +143,7 @@ if abstract_ferns.config.lady_ferns_near_rock == true then
end
if abstract_ferns.config.lady_ferns_near_ores == true then -- this one causes a huge fps drop
biome_lib:register_generate_plant({ -- near ores (potential mining sites)
biome_lib.register_on_generate({ -- near ores (potential mining sites)
surface = {
"default:dirt_with_grass",
"default:mossycobble",
@ -183,7 +183,7 @@ if abstract_ferns.config.lady_ferns_near_ores == true then -- this one causes a
end
if abstract_ferns.config.lady_ferns_in_groups == true then -- this one is meant as a replacement of Ferns_near_Ores
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"default:mossycobble",

View File

@ -298,7 +298,7 @@ minetest.register_abm({
-- in jungles
if abstract_ferns.config.enable_giant_treeferns_in_jungle == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"default:dirt_with_rainforest_litter", -- minetest >= 0.4.16
@ -324,7 +324,7 @@ end
-- for oases & tropical beaches
if abstract_ferns.config.enable_giant_treeferns_in_oases == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:sand"--,
--"default:desert_sand"

View File

@ -75,7 +75,7 @@ create_nodes()
-- Spawning
-----------------------------------------------------------------------------------------------
if abstract_ferns.config.enable_horsetails_spawning == true then
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = 1200,
spawn_plants = node_names,
spawn_chance = 400,
@ -104,7 +104,7 @@ end
-----------------------------------------------------------------------------------------------
if abstract_ferns.config.enable_horsetails_on_grass == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"default:dirt_with_coniferous_litter", -- minetest >= 0.5
@ -137,7 +137,7 @@ if abstract_ferns.config.enable_horsetails_on_grass == true then
end
if abstract_ferns.config.enable_horsetails_on_stones == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:gravel", -- roots go deep
"default:mossycobble",

View File

@ -179,7 +179,7 @@ minetest.register_abm({
-- in jungles
if abstract_ferns.config.enable_treeferns_in_jungle == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"default:dirt_with_rainforest_litter", -- minetest >= 0.4.16
@ -208,7 +208,7 @@ end
-- for oases & tropical beaches
if abstract_ferns.config.enable_treeferns_in_oases == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:sand"--,
--"default:desert_sand"

View File

@ -80,16 +80,16 @@ for i in ipairs(lilies_list) do
local above_node = minetest.get_node(pt.above)
local top_node = minetest.get_node(top_pos)
if biome_lib:get_nodedef_field(under_node.name, "buildable_to") then
if biome_lib.get_nodedef_field(under_node.name, "buildable_to") then
if under_node.name ~= "default:water_source" then
place_pos = pt.under
elseif top_node.name ~= "default:water_source"
and biome_lib:get_nodedef_field(top_node.name, "buildable_to") then
and biome_lib.get_nodedef_field(top_node.name, "buildable_to") then
place_pos = top_pos
else
return
end
elseif biome_lib:get_nodedef_field(above_node.name, "buildable_to") then
elseif biome_lib.get_nodedef_field(above_node.name, "buildable_to") then
place_pos = pt.above
end
@ -180,18 +180,19 @@ for i in ipairs(algae_list) do
local above_node = minetest.get_node(pt.above)
local top_node = minetest.get_node(top_pos)
if biome_lib:get_nodedef_field(under_node.name, "buildable_to") then
if biome_lib.get_nodedef_field(under_node.name, "buildable_to") then
if under_node.name ~= "default:water_source" then
place_pos = pt.under
elseif top_node.name ~= "default:water_source"
and biome_lib:get_nodedef_field(top_node.name, "buildable_to") then
and biome_lib.get_nodedef_field(top_node.name, "buildable_to") then
place_pos = top_pos
else
return
end
elseif biome_lib:get_nodedef_field(above_node.name, "buildable_to") then
elseif biome_lib.get_nodedef_field(above_node.name, "buildable_to") then
place_pos = pt.above
end
if not place_pos then return end -- something went wrong :P
if not minetest.is_protected(place_pos, placer:get_player_name()) then
@ -245,7 +246,7 @@ minetest.register_node(":flowers:sunflower", {
walkable = false,
buildable_to = true,
is_ground_content = true,
groups = { dig_immediate=3, flora=1, flammable=3 },
groups = { dig_immediate=3, flora=1, flammable=3, attached_node=1 },
sounds = default.node_sound_leaves_defaults(),
selection_box = box,
collision_box = box,
@ -301,7 +302,7 @@ flowers_plus.grow_waterlily = function(pos)
end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:water_source"},
max_count = lilies_max_count,
rarity = lilies_rarity,
@ -323,7 +324,7 @@ flowers_plus.grow_seaweed = function(pos)
minetest.swap_node(right_here, {name="along_shore:seaweed_"..random(1,4), param2=random(1,3)})
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:water_source"},
max_count = seaweed_max_count,
rarity = seaweed_rarity,
@ -340,7 +341,7 @@ biome_lib:register_generate_plant({
-- seaweed at beaches
-- MM: not satisfied with it, but IMHO some beaches should have some algae
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:water_source"},
max_count = seaweed_max_count,
rarity = seaweed_rarity,
@ -356,7 +357,7 @@ biome_lib:register_generate_plant({
},
flowers_plus.grow_seaweed
)
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:sand"},
max_count = seaweed_max_count*2,
rarity = seaweed_rarity/2,
@ -373,7 +374,7 @@ biome_lib:register_generate_plant({
flowers_plus.grow_seaweed
)
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:dirt_with_grass"},
avoid_nodes = { "flowers:sunflower" },
max_count = sunflowers_max_count,
@ -388,7 +389,7 @@ biome_lib:register_generate_plant({
-- spawn ABM registrations
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY/2,
spawn_plants = {
"flowers:waterlily",
@ -410,7 +411,7 @@ biome_lib:spawn_on_surfaces({
random_facedir = {0,3}
})
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY*2,
spawn_plants = {"flowers:seaweed"},
spawn_chance = SPAWN_CHANCE*2,
@ -423,7 +424,7 @@ biome_lib:spawn_on_surfaces({
facedir = 1
})
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY*2,
spawn_plants = {"flowers:seaweed"},
spawn_chance = SPAWN_CHANCE*2,
@ -437,7 +438,7 @@ biome_lib:spawn_on_surfaces({
facedir = 1
})
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY*2,
spawn_plants = {"flowers:seaweed"},
spawn_chance = SPAWN_CHANCE*2,
@ -451,7 +452,7 @@ biome_lib:spawn_on_surfaces({
facedir = 1
})
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY*2,
spawn_plants = {"flowers:sunflower"},
spawn_chance = SPAWN_CHANCE*2,

View File

@ -62,7 +62,7 @@ abstract_molehills.place_molehill = function(pos)
end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:dirt_with_grass"},
max_count = Molehills_Max_Count,
rarity = Molehills_Rarity,

View File

@ -70,7 +70,7 @@ minetest.register_node('poisonivy:climbing', {
buildable_to = true,
})
biome_lib:spawn_on_surfaces({
biome_lib.register_active_spawner({
spawn_delay = SPAWN_DELAY,
spawn_plants = {"poisonivy:seedling"},
avoid_radius = 10,
@ -83,7 +83,7 @@ biome_lib:spawn_on_surfaces({
verticals_list = walls_list
})
biome_lib:grow_plants({
biome_lib.update_plant({
grow_delay = SPAWN_DELAY,
grow_chance = GROW_CHANCE,
grow_plant = "poisonivy:seedling",
@ -91,7 +91,7 @@ biome_lib:grow_plants({
grow_nodes = {"default:dirt_with_grass"}
})
biome_lib:grow_plants({
biome_lib.update_plant({
grow_delay = GROW_DELAY,
grow_chance = GROW_CHANCE*2,
grow_plant = "poisonivy:climbing",

View File

@ -48,128 +48,146 @@ abstract_trunks.place_twig = function(pos)
end
-- big twigs
if Big_Twigs == true then
local n1, n2
local r1, r2
-- big twig 1
if twig_size == 17 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5"})
if twig_size == 17 then
n1 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1})
n2 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5"})
end
if minetest.registered_nodes[node_n_e.name].buildable_to then
minetest.swap_node(north_east, {name="trunks:twig_7"})
end
if minetest.registered_nodes[node_east.name].buildable_to then
minetest.swap_node(east, {name="trunks:twig_8"})
end
end
if minetest.registered_nodes[node_n_e.name].buildable_to then
minetest.swap_node(north_east, {name="trunks:twig_7"})
elseif twig_size == 18 then
n1 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1})
n2 = minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=1})
end
if minetest.registered_nodes[node_s_e.name].buildable_to then
minetest.swap_node(south_east, {name="trunks:twig_7", param2=1})
end
if minetest.registered_nodes[node_south.name].buildable_to then
minetest.swap_node(south, {name="trunks:twig_8", param2=1})
end
end
if minetest.registered_nodes[node_east.name].buildable_to then
minetest.swap_node(east, {name="trunks:twig_8"})
elseif twig_size == 19 then
n1 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1})
n2 = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=2})
end
if minetest.registered_nodes[node_s_w.name].buildable_to then
minetest.swap_node(south_west, {name="trunks:twig_7", param2=2})
end
if minetest.registered_nodes[node_west.name].buildable_to then
minetest.swap_node(west, {name="trunks:twig_8", param2=2})
end
end
elseif twig_size == 20 then
n1 = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1})
n2 = minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=3})
end
if minetest.registered_nodes[node_n_w.name].buildable_to then
minetest.swap_node(north_west, {name="trunks:twig_7", param2=3})
end
if minetest.registered_nodes[node_north.name].buildable_to then
minetest.swap_node(north, {name="trunks:twig_8", param2=3})
end
end
-- big twig 2
elseif twig_size == 21 then
n1 = minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1})
n2 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9"})
end
if minetest.registered_nodes[node_north.name].buildable_to then
minetest.swap_node(north, {name="trunks:twig_10"})
end
if minetest.registered_nodes[node_n_e.name].buildable_to then
minetest.swap_node(north_east, {name="trunks:twig_11"})
end
end
elseif twig_size == 22 then
n1 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z})
n2 = minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=1})
end
if minetest.registered_nodes[node_east.name].buildable_to then
minetest.swap_node(east, {name="trunks:twig_10", param2=1})
end
if minetest.registered_nodes[node_s_e.name].buildable_to then
minetest.swap_node(south_east, {name="trunks:twig_11", param2=1})
end
end
elseif twig_size == 23 then
n1 = minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1})
n2 = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z-1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=2})
end
if minetest.registered_nodes[node_south.name].buildable_to then
minetest.swap_node(south, {name="trunks:twig_10", param2=2})
end
if minetest.registered_nodes[node_s_w.name].buildable_to then
minetest.swap_node(south_west, {name="trunks:twig_11", param2=2})
end
end
elseif twig_size == 24 then
n1 = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z})
n2 = minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1})
r1 = n1 and minetest.registered_nodes[n1.name]
r2 = n2 and minetest.registered_nodes[n2.name]
if not (r1 and r1.buildable_to or r2 and r2.buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=3})
end
if minetest.registered_nodes[node_west.name].buildable_to then
minetest.swap_node(west, {name="trunks:twig_10", param2=3})
end
if minetest.registered_nodes[node_n_w.name].buildable_to then
minetest.swap_node(north_west, {name="trunks:twig_11", param2=3})
end
end
elseif twig_size <= 25 then
minetest.swap_node(right_here, {name="trunks:twig_"..math.random(12,13), param2=math.random(0,3)})
end
elseif twig_size == 18 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=1})
end
if minetest.registered_nodes[node_s_e.name].buildable_to then
minetest.swap_node(south_east, {name="trunks:twig_7", param2=1})
end
if minetest.registered_nodes[node_south.name].buildable_to then
minetest.swap_node(south, {name="trunks:twig_8", param2=1})
end
end
elseif twig_size == 19 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=2})
end
if minetest.registered_nodes[node_s_w.name].buildable_to then
minetest.swap_node(south_west, {name="trunks:twig_7", param2=2})
end
if minetest.registered_nodes[node_west.name].buildable_to then
minetest.swap_node(west, {name="trunks:twig_8", param2=2})
end
end
elseif twig_size == 20 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_5", param2=3})
end
if minetest.registered_nodes[node_n_w.name].buildable_to then
minetest.swap_node(north_west, {name="trunks:twig_7", param2=3})
end
if minetest.registered_nodes[node_north.name].buildable_to then
minetest.swap_node(north, {name="trunks:twig_8", param2=3})
end
end
-- big twig 2
elseif twig_size == 21 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9"})
end
if minetest.registered_nodes[node_north.name].buildable_to then
minetest.swap_node(north, {name="trunks:twig_10"})
end
if minetest.registered_nodes[node_n_e.name].buildable_to then
minetest.swap_node(north_east, {name="trunks:twig_11"})
end
end
elseif twig_size == 22 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=1})
end
if minetest.registered_nodes[node_east.name].buildable_to then
minetest.swap_node(east, {name="trunks:twig_10", param2=1})
end
if minetest.registered_nodes[node_s_e.name].buildable_to then
minetest.swap_node(south_east, {name="trunks:twig_11", param2=1})
end
end
elseif twig_size == 23 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z-1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=2})
end
if minetest.registered_nodes[node_south.name].buildable_to then
minetest.swap_node(south, {name="trunks:twig_10", param2=2})
end
if minetest.registered_nodes[node_s_w.name].buildable_to then
minetest.swap_node(south_west, {name="trunks:twig_11", param2=2})
end
end
elseif twig_size == 24 then
if not (minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to
or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to) then
if minetest.registered_nodes[node_here.name].buildable_to then
minetest.swap_node(right_here, {name="trunks:twig_9", param2=3})
end
if minetest.registered_nodes[node_west.name].buildable_to then
minetest.swap_node(west, {name="trunks:twig_10", param2=3})
end
if minetest.registered_nodes[node_n_w.name].buildable_to then
minetest.swap_node(north_west, {name="trunks:twig_11", param2=3})
end
end
elseif twig_size <= 25 then
minetest.swap_node(right_here, {name="trunks:twig_"..math.random(12,13), param2=math.random(0,3)})
end
end
end
if Twigs_on_ground == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:dirt_with_grass"},
max_count = Twigs_on_ground_Max_Count,
rarity = Twigs_on_ground_Rarity,
@ -186,7 +204,7 @@ biome_lib:register_generate_plant({
end
if Twigs_on_water == true then
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:water_source"},
max_count = Twigs_on_water_Max_Count,
rarity = Twigs_on_water_Rarity,
@ -348,7 +366,7 @@ abstract_trunks.place_trunk = function(pos)
end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:dirt_with_grass"},
max_count = Trunks_Max_Count, -- 320,
rarity = Trunks_Rarity, -- 99,
@ -382,7 +400,7 @@ abstract_trunks.grow_moss_on_ground = function(pos)
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"default:dirt_with_grass"},
max_count = Moss_on_ground_Max_Count,
rarity = Moss_on_ground_Rarity,
@ -471,7 +489,7 @@ abstract_trunks.grow_moss_on_trunk = function(pos)
--end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:tree",
"default:jungletree",
@ -548,7 +566,7 @@ abstract_trunks.grow_roots = function(pos)
end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {"group:tree"},
max_count = 1000,
rarity = 1,

View File

@ -58,6 +58,7 @@ for i in pairs(NoDe) do
if not minetest.setting_getbool("creative_mode") then
itemstack:take_item()
end
return itemstack
end
end,
})
@ -95,6 +96,7 @@ for r = 0, 3 do
sunlight_propagates = true,
walkable = false,
node_box = cbox,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node=1, not_in_creative_inventory = r},
sounds = default.node_sound_leaves_defaults(),
drop = "trunks:moss_plain_0",
@ -114,6 +116,7 @@ for r = 0, 3 do
sunlight_propagates = true,
walkable = false,
node_box = cbox,
buildable_to = true,
groups = {snappy = 3, flammable = 3, attached_node=1, not_in_creative_inventory = r},
sounds = default.node_sound_leaves_defaults(),
drop = "trunks:moss_with_fungus_0",

View File

@ -135,7 +135,7 @@ vines.register_vine = function( name, defs, biome )
end,
})
biome_lib:spawn_on_surfaces(biome)
biome_lib.register_active_spawner(biome)
end
-- ALIASES

View File

@ -73,7 +73,7 @@ abstract_woodsoils.place_soil = function(pos)
end
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"group:tree",
"ferns:fern_03",
@ -94,7 +94,7 @@ biome_lib:register_generate_plant({
"abstract_woodsoils.place_soil"
)
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"moretrees:apple_tree_sapling_ongen",
"moretrees:beech_sapling_ongen",

View File

@ -134,7 +134,7 @@ abstract_youngtrees.grow_youngtree_node = function(pos, height)
end
biome_lib:register_generate_plant({
biome_lib.register_on_generate({
surface = {
"default:dirt_with_grass",
"stoneage:grass_with_silex",