Reworked Biome Parameters, 2 New Biomes

master
wintersknight94 2022-02-06 19:28:58 -06:00 committed by GitHub
parent aa3ae0b8de
commit 95ccba5c5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 569 additions and 232 deletions

View File

@ -71,7 +71,7 @@ minetest.register_decoration({
place_on = {"group:soil", "group:sand", "group:gravel"},
sidelen = 16,
fill_ratio = 0.001,
biomes = {"grassland", "stonewaste", "old_forest", "ancient_forest"},
biomes = {"grassland", "stonewaste", "stoneprairie", "old_forest", "ancient_forest"},
y_min = 1,
y_max = 100,
schematic = nodecore.boulder_schematic,

View File

@ -4,7 +4,8 @@ local minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
------------------------------------------------------------------------
local twig = "nc_tree_tree_side.png^[mask:" ..modname.. "_stem_mask.png"
local logside = "(nc_tree_tree_side.png^[colorize:black:75)"
local twig = logside.. "^[mask:" ..modname.. "_stem_mask.png"
------------------------------------------------------------------------
minetest.register_node(modname .. ":deadtwig", {
description = "Dry Twigs",
@ -33,8 +34,8 @@ minetest.register_decoration({
deco_type = "simple",
place_on = {"group:soil", "group:sand", "group:gravel"},
sidelen = 16,
fill_ratio = 0.01,
biomes = {"dune", "stonewaste", "ancient_forest"},
fill_ratio = 0.001,
biomes = {"dune", "stonewaste", "stoneprairie", "ancient_forest"},
y_max = 2000,
y_min = -100,
decoration = {modname .. ":deadtwig"},

View File

@ -2,16 +2,19 @@
local minetest, nodecore
= minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
------------------------------------------------------------------------
local logtop = "(nc_tree_tree_top.png^[colorize:black:75)"
local logside = "(nc_tree_tree_side.png^[colorize:black:75)"
local hollow = "(" ..modname.. "_hollow.png)"
------------------------------------------------------------------------
minetest.register_node(modname .. ":decayed_log", {
description = "Decayed Log",
drawtype = "normal",
tiles = {
modname .. "_decayed_log_top.png",
modname .. "_decayed_log_top.png",
modname .. "_decayed_log_side.png"
"(" ..logtop.. "^" ..hollow.. ")^(" ..modname.. "_mycelium.png^[opacity:75)",
"(" ..logtop.. "^" ..hollow.. ")^(" ..modname.. "_mycelium.png^[opacity:75)",
"(" ..logside.. ")^(" ..modname.. "_mycelium.png^[opacity:75)"
},
groups = {
choppy = 2,
@ -29,7 +32,7 @@ minetest.register_node(modname .. ":decayed_log", {
nodecore.register_craft({
label = "grind decayed log to peat",
action = "pummel",
toolgroups = {crumbly = 2},
toolgroups = {crumbly = 4},
nodes = {
{
match = {name = modname .. ":decayed_log"},
@ -37,6 +40,17 @@ nodecore.register_craft({
}
}
})
nodecore.register_craft({
label = "cut useable wood from decayed log",
action = "pummel",
toolgroups = {choppy = 1},
nodes = {
{
match = {name = modname .. ":decayed_log"},
replace = "nc_woodwork:plank"
}
}
})
local fallen = {
".....",
@ -64,10 +78,82 @@ minetest.register_decoration({
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.005,
biomes = {"forest", "thicket", "old_forest", "ancient_forest"},
biomes = {"forest", "thicket", "old_forest", "ancient_forest", "rainforest"},
y_min = -2,
y_max = 1000,
y_max = 100,
schematic = nodecore.deadwood_schematic,
rotation = "random",
replacements = {},
})
-- ====================================================================== --
local stump = modname .. ":dead_root"
local visdirt = modname.. ":decayed_log"
local rootdef = nodecore.underride({
description = "Dead Roots",
drawtype = "plantlike_rooted",
falling_visual = visdirt,
special_tiles = {"((" ..logside.. ")^(" ..modname.. "_mycelium.png^[opacity:100))^[mask:" ..modname.. "_stem_mask.png"},
drop = visdirt,
no_self_repack = true,
groups = {grassable = 0, roots = 1}
}, minetest.registered_items[visdirt] or {})
--rootdef.groups.humus = nil
minetest.register_node(stump, rootdef)
------------------------------------------------------------------------
local deadroot = {
".....",
".lll.",
".lrl.",
".lll.",
".....",
}
------------------------------------------------------------------------
nodecore.deadroot_schematic = nodecore.ezschematic(
{
["."] = {name = "air", prob = 0},
r = {name = modname.. ":dead_root", prob = 255},
l = {name = modname.. ":decayed_log", param2 = 7, prob = 75},
},
{
deadroot
},
{
yslice_prob = {
{ypos = 1, prob = 255}
}
}
)
------------------------------------------------------------------------
minetest.register_decoration({
deco_type = "schematic",
place_on = {"group:soil", "group:gravel", "group:sand"},
sidelen = 16,
fill_ratio = 0.001,
biomes = {"mudflat", "stonewaste", "stoneprairie", "dune", "savanna"},
y_min = 1,
-- y_max = 120,
schematic = nodecore.deadroot_schematic,
flags = "force_placement, place_center_x, place_center_z, all_floors",
-- place_offset_y = -1,
-- rotation = "random",
replacements = {},
})
------------------------------------------------------------------------
nodecore.register_craft({
label = "cut useable wood from decayed root",
action = "pummel",
toolgroups = {choppy = 1},
nodes = {
{
match = {name = modname .. ":dead_root"},
replace = "nc_woodwork:plank"
}
},
items = {
{name = "nc_tree:stick", count = 1, scatter = 1}
}
})

View File

@ -178,45 +178,67 @@ nodecore.antiquetree_schematic = nodecore.ezschematic(
l = {name = "nc_tree:leaves", prob = 255},
},
{
aroot, --1
atrunkthic, --2
atrunkthic, --3
atrunkvar1, --4
atrunkvar2, --5
atrunk, --6
atrunk, --7
atrunk, --8
atrunk, --9
atrunk, --10
atrunk, --11
atrunk, --12
atrunk, --13
abot, --14
alow, --15
alow, --16
ahi, --17
atop --18
aroot, --1
aroot, --2
atrunkthic, --3
atrunkthic, --4
atrunkthic, --5
atrunkvar1, --6
atrunkvar2, --7
atrunk, --8
atrunk, --9
atrunk, --10
atrunk, --11
atrunk, --12
atrunk, --13
atrunk, --14
atrunk, --15
atrunk, --16
atrunk, --17
atrunk, --18
atrunk, --19
atrunk, --20
atrunk, --21
atrunk, --22
atrunk, --23
atrunk, --24
abot, --25
alow, --26
alow, --27
ahi, --28
atop --29
},
{
yslice_prob = {
{ypos = 1, prob = 255},
{ypos = 2, prob = 255},
{ypos = 2, prob = 200},
{ypos = 3, prob = 255},
{ypos = 4, prob = 225},
{ypos = 5, prob = 160},
{ypos = 6, prob = 160},
{ypos = 7, prob = 255},
{ypos = 4, prob = 200},
{ypos = 5, prob = 255},
{ypos = 6, prob = 225},
{ypos = 7, prob = 160},
{ypos = 8, prob = 160},
{ypos = 9, prob = 160},
{ypos = 10, prob = 160},
{ypos = 11, prob = 160},
{ypos = 12, prob = 255},
{ypos = 13, prob = 255},
{ypos = 14, prob = 255},
{ypos = 15, prob = 255},
{ypos = 16, prob = 125},
{ypos = 17, prob = 255},
{ypos = 12, prob = 160},
{ypos = 13, prob = 160},
{ypos = 14, prob = 160},
{ypos = 15, prob = 160},
{ypos = 16, prob = 160},
{ypos = 17, prob = 160},
{ypos = 18, prob = 255},
{ypos = 19, prob = 160},
{ypos = 20, prob = 160},
{ypos = 21, prob = 160},
{ypos = 22, prob = 160},
{ypos = 23, prob = 255},
{ypos = 24, prob = 255},
{ypos = 25, prob = 255},
{ypos = 26, prob = 255},
{ypos = 27, prob = 125},
{ypos = 28, prob = 255},
{ypos = 29, prob = 255},
}
}
)
@ -226,7 +248,7 @@ minetest.register_decoration({
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"old_forest", "ancient_forest"},
biomes = {"ancient_forest"},
y_min = 1,
y_max = 200,
schematic = nodecore.antiquetree_schematic,

View File

@ -124,7 +124,7 @@ minetest.register_decoration({
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"old_forest", "ancient_forest"},
biomes = {"old_forest", "rainforest"},
y_min = 1,
y_max = 200,
schematic = nodecore.grandtree_schematic,

View File

@ -94,7 +94,7 @@ minetest.register_decoration({
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.02,
biomes = {"forest", "thicket", "old_forest"},
biomes = {"forest", "thicket", "old_forest", "rainforest"},
y_min = 1,
y_max = 1000,
schematic = nodecore.talltree_schematic,

View File

@ -2,172 +2,227 @@
local minetest
= minetest
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
-- ================================================================== --
minetest.unregister_biome("unknown")
-- ================================================================== --
minetest.register_biome({
name = "grassland",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 1,
y_min = 1,
y_max = 31000,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 50,
humidity_point = 50,
})
minetest.register_biome({
name = "floodland",
node_top = modname .. ":muck",
depth_top = 1,
node_filler = modname .. ":muck",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 4,
y_min = -2,
y_max = 2,
vertical_blend = 2,
horizontal_blend = 16,
heat_point = 50,
humidity_point = 100
})
minetest.register_biome({
name = "forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 4,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 2,
y_min = 2,
y_max = 250,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 40,
humidity_point = 80,
})
minetest.register_biome({
name = "old_forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 8,
node_riverbed = modname .. ":muck",
depth_riverbed = 2,
y_min = 4,
y_max = 200,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 20,
humidity_point = 80,
})
minetest.register_biome({
name = "ancient_forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 12,
node_riverbed = modname .. ":muck",
depth_riverbed = 2,
y_min = 4,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 0,
humidity_point = 80,
})
minetest.register_biome({ -- Hot Desert
name = "dune",
node_top = "nc_terrain:sand",
depth_top = 5,
node_stone = "nc_concrete:sandstone",
-- depth_filler = 12,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 1,
y_min = -20,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 0,
})
-- ================================================================== --
-- Climate Extremes
-- Used Voronoi Diagram For Better Biome Pacement
-- ================================================================== --
-- Cold & Dry
minetest.register_biome({ -- Cold Desert
name = "stonewaste",
node_top = "nc_terrain:gravel",
depth_top = 2,
node_filler = "nc_terrain:cobble",
depth_filler = 2,
node_riverbed = "nc_terrain:gravel",
depth_riverbed = 3,
y_min = -20,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 0,
humidity_point = 0,
})
minetest.register_biome({
name = "thicket",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 2,
y_min = 2,
y_max = 48,
vertical_blend = 4,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 100,
})
minetest.register_biome({
name = "tropic",
node_top = "nc_terrain:sand",
depth_top = 1,
-- node_filler = "nc_concrete:sandstone",
-- depth_filler = 3,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 3,
y_min = -24,
y_max = 148,
vertical_blend = 8,
horizontal_blend = 16,
heat_point = 80,
humidity_point = 100,
})
name = "stonewaste",
node_top = "nc_terrain:gravel",
depth_top = 2,
node_filler = "nc_terrain:cobble",
depth_filler = 2,
node_riverbed = "nc_terrain:gravel",
depth_riverbed = 3,
y_min = -20,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 0,
humidity_point = 0,
})
-- Hot & Dry
minetest.register_biome({ -- Hot Desert
name = "dune",
node_top = "nc_terrain:sand",
depth_top = 5,
node_stone = "nc_concrete:sandstone",
-- depth_filler = 12,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 1,
y_min = -20,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 0,
})
-- Hot & Humid
minetest.register_biome({ -- Tropical Beaches
name = "tropic",
node_top = "nc_terrain:sand",
depth_top = 1,
-- node_filler = "nc_concrete:sandstone",
-- depth_filler = 3,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 3,
y_min = -24,
y_max = 148,
vertical_blend = 8,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 100,
})
-- Cold & Humid
minetest.register_biome({ -- Northern Old-Growth Forests
name = "ancient_forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 12,
node_riverbed = modname .. ":muck",
depth_riverbed = 2,
y_min = 4,
y_max = 150,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 0,
humidity_point = 100,
})
-- ================================================================== --
-- Placed Primary Via Heat/Humidity
-- Used Voronoi Diagram For Better Biome Pacement
-- ================================================================== --
minetest.register_biome({
name = "mudflat",
node_top = modname .. ":muck",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_stone = "nc_concrete:adobe",
node_riverbed = modname.. ":muck",
depth_riverbed = 4,
y_min = -2,
y_max = 8,
vertical_blend = 4,
horizontal_blend = 16,
heat_point = 60,
humidity_point = 100
})
name = "grassland",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 1,
y_min = 1,
y_max = 31000,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 50,
humidity_point = 50,
})
minetest.register_biome({
name = "forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 4,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 2,
y_min = 2,
y_max = 250,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 40,
humidity_point = 80,
})
minetest.register_biome({
name = "old_forest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 8,
node_riverbed = modname .. ":muck",
depth_riverbed = 2,
y_min = 4,
y_max = 200,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 20,
humidity_point = 90,
})
minetest.register_biome({
name = "rainforest",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 8,
node_riverbed = modname .. ":muck",
depth_riverbed = 2,
y_min = 1,
-- y_max = 200,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 70,
humidity_point = 100,
})
minetest.register_biome({
name = "thicket",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 2,
y_min = 2,
y_max = 48,
vertical_blend = 4,
horizontal_blend = 16,
heat_point = 30,
humidity_point = 100,
})
minetest.register_biome({
name = "savanna",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 1,
y_min = 1,
y_max = 31000,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 30,
})
minetest.register_biome({
name = "stoneprairie",
node_top = "nc_terrain:dirt_with_grass",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 4,
y_min = 1,
y_max = 31000,
vertical_blend = 16,
horizontal_blend = 16,
heat_point = 100,
humidity_point = 50,
})
-- ================================================================== --
-- Highly Restricted by Elevation
-- ================================================================== --
--seabed(vanilla)
--deep(vanilla)
minetest.register_biome({
name = "mudflat",
node_top = modname .. ":muck",
depth_top = 1,
node_filler = "nc_terrain:dirt",
depth_filler = 2,
node_stone = "nc_concrete:adobe",
node_riverbed = modname.. ":muck",
depth_riverbed = 4,
y_min = -2,
y_max = 8,
vertical_blend = 4,
horizontal_blend = 16,
heat_point = 0,
humidity_point = 50
})
minetest.register_biome({
name = "floodland",
node_top = modname .. ":muck",
depth_top = 1,
node_filler = modname .. ":muck",
depth_filler = 2,
node_riverbed = "nc_terrain:sand",
depth_riverbed = 4,
y_min = -2,
y_max = 2,
vertical_blend = 2,
horizontal_blend = 16,
heat_point = 50,
humidity_point = 100
})

View File

@ -10,8 +10,8 @@ local modname = minetest.get_current_modname()
minetest.register_ore({
ore_type = "blob",
ore = modname.. ":muck",
wherein = {"nc_terrain:dirt_with_grass", "nc_terrain:dirt", "nc_terrain:sand", "nc_terrain:gravel"},
biomes = {"thicket", "floodland", "seabed"},
wherein = {"group:soil", "group:sand", "group:gravel"},
biomes = {"thicket", "floodland", "seabed", "rainforest", "ancient_forest"},
clust_scarcity = 16 * 16 * 16,
clust_num_ores = 12,
clust_size = 12,
@ -20,7 +20,7 @@ minetest.register_ore({
noise_threshold = 0.0,
noise_params = {
offset = 0.5,
scale = 0.2,
scale = 0.24,
spread = {x = 5, y = 5, z = 5},
seed = -316,
octaves = 1,
@ -33,7 +33,7 @@ minetest.register_ore({
ore_type = "blob",
ore = modname.. ":mycelium",
wherein = {"group:soil"},
biomes = {"old_forest", "ancient_forest", "thicket", "mudflat"},
biomes = {"old_forest", "ancient_forest", "thicket", "mudflat", "rainforest"},
clust_scarcity = 32 * 32 * 32,
clust_num_ores = 3,
clust_size = 7,
@ -52,22 +52,107 @@ minetest.register_ore({
minetest.register_ore({
ore_type = "blob",
ore = "nc_terrain:sand",
wherein = {modname.. ":muck", "nc_terrain:dirt", "nc_terrain:sand", "nc_terrain:gravel"},
biomes = {"thicket", "floodland", "seabed"},
ore = "nc_terrain:gravel",
wherein = {"group:soil", "group:sand", "group:gravel", "group:stone"},
biomes = {"stonewaste", "stoneprairie"},
clust_scarcity = 16 * 16 * 16,
clust_num_ores = 12,
clust_size = 12,
y_max = 1,
y_min = -32,
noise_threshold = 0.0,
clust_num_ores = 8,
clust_size = 24,
y_max = 100,
y_min = -100,
noise_threshold = 0.1,
noise_params = {
offset = 0.4,
scale = 0.25,
spread = {x = 25, y = 25, z = 25},
seed = -419,
offset = 0.42,
scale = 0.45,
spread = {x = 32, y = 32, z = 32},
seed = -221,
octaves = 1,
persist = 0.0
},
})
minetest.register_ore({
ore_type = "blob",
ore = "nc_terrain:sand",
wherein = {"group:soil", "group:sand", "group:gravel"},
biomes = {"floodland", "seabed", "stoneprairie"},
clust_scarcity = 16 * 16 * 16,
clust_num_ores = 8,
clust_size = 12,
y_max = 100,
y_min = -100,
noise_threshold = 0.25,
noise_params = {
offset = 0.71,
scale = 0.25,
spread = {x = 24, y = 24, z = 24},
seed = 968,
octaves = 1,
persist = 0.0
},
})
minetest.register_ore({
ore_type = "blob",
ore = "nc_concrete:sandstone",
wherein = {"group:soil", "group:sand", "group:gravel"},
biomes = {"seabed", "stoneprairie"},
clust_scarcity = 16 * 16 * 16,
clust_num_ores = 3,
clust_size = 9,
y_max = 100,
y_min = -100,
noise_threshold = 0.1,
noise_params = {
offset = 0.36,
scale = 0.22,
spread = {x = 8, y = 8, z = 8},
seed = -420,
octaves = 1,
persist = 0.0
},
})
minetest.register_ore({
ore_type = "blob",
ore = "nc_tree:humus",
wherein = {"group:soil"},
biomes = {"rainforest", "ancient_forest"},
clust_scarcity = 32 * 32 * 32,
clust_num_ores = 8,
clust_size = 16,
y_max = 50,
y_min = -50,
noise_threshold = 0.01,
noise_params = {
offset = 0.4,
scale = 0.21,
spread = {x = 7, y = 7, z = 7},
seed = 171,
octaves = 1,
persist = 0.0
},
})
minetest.register_ore({
ore_type = "blob",
ore = modname.. ":mossy_dirt",
wherein = {"group:soil"},
biomes = {"rainforest", "ancient_forest"},
clust_scarcity = 32 * 32 * 32,
clust_num_ores = 12,
clust_size = 12,
y_max = 50,
y_min = -50,
noise_threshold = 0.01,
noise_params = {
offset = 0.37,
scale = 0.24,
spread = {x = 9, y = 11, z = 9},
seed = 68,
octaves = 1,
persist = 0.0
},
})

View File

@ -219,7 +219,7 @@ minetest.register_decoration({
decoration = modname .. ":bamboo_living_" ..n,
height = n,
height_max = n+10,
biomes = {"thicket", "floodland"}
biomes = {"thicket", "floodland", "rainforest"}
})
end
------------------------------------------------------------------------
@ -234,7 +234,7 @@ minetest.register_decoration({
decoration = modname .. ":bamboo_living_4",
height = 4,
height_max = 14,
biomes = {"thicket", "floodland"}
biomes = {"thicket", "floodland", "rainforest"}
})
------------------------------------------------------------------------
for m = 1, 2 do
@ -249,7 +249,7 @@ minetest.register_decoration({
decoration = modname .. ":bamboo_living_" ..m,
height = m*2,
height_max = m*6,
biomes = {"mudflat"}
biomes = {"mudflat", "rainforest"}
})
end
------------------------------------------------------------------------

View File

@ -16,6 +16,8 @@ minetest.register_node(modname .. ":fern", {
wield_image = ferntile,
sunlight_propagates = true,
paramtype = 'light',
paramtype2 = "meshoptions",
place_param2 = 10,
walkable = false,
groups = {
snappy = 1,
@ -38,8 +40,9 @@ minetest.register_decoration({
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.1,
biomes = {"forest", "old_forest", "ancient_forest"},
biomes = {"forest", "old_forest", "ancient_forest", "rainforest"},
y_max = 2000,
y_min = -20,
decoration = {modname .. ":fern"},
param2 = 10
})

View File

@ -2,13 +2,27 @@
local include, minetest
= include, minetest
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
local floraswap = include("lib_floraswap")
------------------------------------------------------------------------
floraswap(modname .. ":flower_red", "nc_flora:flower_1_2")
floraswap(modname .. ":flower_yellow", "nc_flora:flower_2_3")
floraswap(modname .. ":flower_white", "nc_flora:flower_3_4")
floraswap(modname .. ":flower_blue", "nc_flora:flower_4_5")
floraswap(modname .. ":flower_violet", "nc_flora:flower_5_6")
------------------------------------------------------------------------
for p = 1, 5 do
for c = 1, 9 do
minetest.register_decoration({
label = {"rainforest flowers"},
deco_type = "simple",
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.0001,
biomes = {"rainforest"},
y_max = 75,
y_min = -10,
decoration = {"nc_flora:flower_" ..p.. "_" ..c},
})
end
end

View File

@ -26,7 +26,8 @@ local function register_extra_grass(offset, scale, length)
},
y_max = 31000,
y_min = 1,
decoration = {modname .. ":grass_" .. length},
-- decoration = {modname .. ":grass_" .. length},
decoration = {"nc_flora:grass_" .. length},
param2 = 2
})
end

View File

@ -57,8 +57,36 @@ end
---------------suff, desc, light_source, ymin, ymax, offset, scale, seed, place, biome-----
register_shroom("", "Mushroom", nil, -10, 80, -0.01, 0.1, 42, {"group:soil", "group:mud", "group:fungal", "group:log"}, {"floodland", "thicket", "forest", "old_forest", "ancient_forest", "mudflat"})
register_shroom("", "Mushroom", nil, -10, 80, -0.01, 0.1, 42, {"group:soil", "group:mud", "group:fungal", "group:log"}, {"floodland", "thicket", "forest", "old_forest", "ancient_forest", "mudflat", "rainforest"})
register_shroom("_glow", "Glowing Mushroom", 2, -400, 1, -0.01, 0.1, 94, {"group:soil", "group:mud", "group:log", "group:crumbly", "group:cobble"}, {""})
register_shroom("_lux", "Luxaeterna", 4, -1000, -100, 0.72, 0.1, 69, {"group:soil", "group:mud", "group:crumbly", "group:cobble"}, {""})
------------------------------------------------------------------------
minetest.register_decoration({
label = modname .. ":rainforest_glowshroom",
deco_type = "simple",
place_on = {"group:soil", "group:fungal", "group:mossy"},
sidelen = 16,
fill_ratio = 0.001,
y_max = 50,
y_min = -50,
decoration = modname .. ":mushroom_glow",
biomes = {"rainforest"},
param2 = 10,
})
minetest.register_decoration({
label = modname .. ":rainforest_luxshroom",
deco_type = "simple",
place_on = {"group:soil", "group:fungal", "group:mossy"},
sidelen = 16,
fill_ratio = 0.001,
y_max = 50,
y_min = -50,
decoration = modname .. ":mushroom_lux",
biomes = {"rainforest"},
param2 = 10,
})

View File

@ -71,7 +71,18 @@ minetest.register_decoration({
biomes = {"mudflat"},
param2 = 4
})
minetest.register_decoration({
label = {modname .. ":rainreeds"},
deco_type = "simple",
place_on = {"group:soil", "group:sand"},
sidelen = 16,
fill_ratio = 0.1,
y_max = 32,
y_min = -32,
decoration = {modname .. ":reeds"},
biomes = {"rainforest"},
param2 = 4
})
------------------------------------------------------------------------
-- CONVERSION

View File

@ -108,6 +108,20 @@ minetest.register_decoration({
-- rotation = "random",
replacements = {},
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.001,
biomes = {"rainforest", "stoneprairie"},
y_min = -20,
y_max = 120,
schematic = nodecore.shrub_schematic,
flags = "force_placement, place_center_x, place_center_z, all_floors",
-- place_offset_y = -1,
-- rotation = "random",
replacements = {},
})
------------------------------------------------------------------------
minetest.register_abm({
label = "Shrub Rerooting",

View File

@ -4,16 +4,19 @@ local minetest, nodecore
-- LUALOCALS > ---------------------------------------------------------
local modname = minetest.get_current_modname()
local starflower = "(nc_flora_flower_color.png^[mask:" ..modname.. "_starstem_mask.png)^" ..modname.. "_starflower.png"
minetest.register_node(modname .. ":starflower", {
description = "Pinnacle Flower",
drawtype = 'plantlike',
waving = 1,
tiles = {modname .. "_starflower.png"},
wield_image = modname .. "_starflower.png",
inventory_image = modname .. "_starflower.png",
tiles = {starflower},
wield_image = starflower,
inventory_image = starflower,
sunlight_propagates = true,
paramtype = 'light',
paramtype2 = "meshoptions",
place_param2 = 10,
light_source = 7,
walkable = false,
groups = {
@ -48,6 +51,7 @@ minetest.register_decoration({
y_max = 31000,
y_min = 100,
decoration = {modname .. ":starflower"},
param2 = 10
})
minetest.register_decoration({
@ -67,4 +71,17 @@ minetest.register_decoration({
y_max = 31000,
y_min = 200,
decoration = {modname .. ":starflower"},
param2 = 10
})
minetest.register_decoration({
label = {modname .. ":starflower"},
deco_type = "simple",
place_on = {"group:soil"},
sidelen = 16,
fill_ratio = 0.001,
y_max = 31000,
y_min = 50,
decoration = {modname .. ":starflower"},
biomes = {"rainforest"},
param2 = 10
})