Add dirt-with-grass color and stages
75
mods/hades_core/dirt.lua
Normal file
@ -0,0 +1,75 @@
|
||||
local S = minetest.get_translator("hades_core")
|
||||
|
||||
-- This registers the grass node and the grass-covered versions of it.
|
||||
-- There are also intermediate grass groth levels between
|
||||
-- naked dirt and dirt with grass to have a sense of 'progress'.
|
||||
-- Param2 is used for the grass color. hades_core:dirt
|
||||
-- should keep this param2 value
|
||||
|
||||
-- Basic dirt node
|
||||
minetest.register_node("hades_core:dirt", {
|
||||
description = S("Dirt"),
|
||||
_tt_help = S("Becomes grassy when exposed to light"),
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1,dirt=1, porous=1},
|
||||
sounds = hades_sounds.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
-- ... with grass cover
|
||||
minetest.register_node("hades_core:dirt_with_grass", {
|
||||
description = S("Dirt with Grass"),
|
||||
paramtype2 = "color",
|
||||
tiles = {
|
||||
"hades_core_grass_cover_colorable.png",
|
||||
{name="default_dirt.png", color="white"},
|
||||
},
|
||||
overlay_tiles = {
|
||||
"hades_core_grass_cover_colorable.png",
|
||||
"",
|
||||
{name="hades_core_grass_side_cover_colorable.png", tileable_vertical=false}
|
||||
},
|
||||
palette_index = 0,
|
||||
color = "#acef6a",
|
||||
palette = "hades_core_palette_grass.png",
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1,dirt=1,dirt_with_grass=1, porous=1},
|
||||
drop = 'hades_core:dirt',
|
||||
sounds = hades_sounds.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
-- Intermediate grass growth levels
|
||||
for l=1, 3 do
|
||||
local sounds
|
||||
if l > 1 then
|
||||
sounds = hades_sounds.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.25},
|
||||
})
|
||||
else
|
||||
sounds = hades_sounds.node_sound_dirt_defaults()
|
||||
end
|
||||
minetest.register_node("hades_core:dirt_with_grass_l"..l, {
|
||||
description = S("Dirt with Growing Grass (Stage @1)", l),
|
||||
tiles = {{name="default_dirt.png", color="white"}},
|
||||
overlay_tiles = {
|
||||
"hades_core_grass_cover_colorable.png^[mask:hades_core_grass_mask_l"..l..".png",
|
||||
"",
|
||||
-- Individual textures for each sides, needed so the grassy pixels "connect"
|
||||
-- nicely with the top face.
|
||||
{name="hades_core_grass_side_cover_colorable.png^[mask:hades_core_grass_side_mask_l"..l.."_xm.png", tileable_vertical=false},
|
||||
{name="hades_core_grass_side_cover_colorable.png^[mask:hades_core_grass_side_mask_l"..l.."_xp.png", tileable_vertical=false},
|
||||
{name="hades_core_grass_side_cover_colorable.png^[mask:hades_core_grass_side_mask_l"..l.."_zm.png", tileable_vertical=false},
|
||||
{name="hades_core_grass_side_cover_colorable.png^[mask:hades_core_grass_side_mask_l"..l.."_zp.png", tileable_vertical=false},
|
||||
},
|
||||
paramtype2 = "color",
|
||||
color = "#acef6a",
|
||||
palette = "hades_core_palette_grass.png",
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1,dirt=1,dirt_with_grass=l+1, porous=1},
|
||||
drop = 'hades_core:dirt',
|
||||
sounds = sounds,
|
||||
})
|
||||
end
|
||||
|
@ -183,10 +183,27 @@ minetest.register_abm({
|
||||
end,
|
||||
})
|
||||
|
||||
-- Takes a node name and if it's capable of being covered by grass,
|
||||
-- returns the node name of the next level of "grassiness",
|
||||
-- otherwise it returns nil
|
||||
local function get_next_grass_cover_level(nodename)
|
||||
if nodename == "hades_core:dirt" then
|
||||
return "hades_core:dirt_with_grass_l1"
|
||||
elseif nodename == "hades_core:dirt_with_grass_l1" then
|
||||
return "hades_core:dirt_with_grass_l2"
|
||||
elseif nodename == "hades_core:dirt_with_grass_l2" then
|
||||
return "hades_core:dirt_with_grass_l3"
|
||||
elseif nodename == "hades_core:dirt_with_grass_l3" then
|
||||
return "hades_core:dirt_with_grass"
|
||||
else
|
||||
return nodename
|
||||
end
|
||||
end
|
||||
|
||||
-- Dirt ABMs
|
||||
minetest.register_abm({
|
||||
label = "Grow grass on dirt",
|
||||
nodenames = {"hades_core:dirt"},
|
||||
label = "Grow grass on dirt under bright light",
|
||||
nodenames = {"group:dirt"},
|
||||
interval = 2,
|
||||
chance = 200,
|
||||
action = function(pos, node)
|
||||
@ -196,14 +213,34 @@ minetest.register_abm({
|
||||
if nodedef and (nodedef.sunlight_propagates or nodedef.paramtype == "light")
|
||||
and nodedef.liquidtype == "none"
|
||||
and (minetest.get_node_light(above) or 0) >= 13 then
|
||||
minetest.set_node(pos, {name = "hades_core:dirt_with_grass"})
|
||||
local nextnode = get_next_grass_cover_level(node.name)
|
||||
if nextnode then
|
||||
minetest.set_node(pos, {name = nextnode, param2 = node.param2})
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Grow grass on dirt under air in faint light",
|
||||
nodenames = {"group:dirt"},
|
||||
interval = 50,
|
||||
chance = 20,
|
||||
action = function(pos, node)
|
||||
local name = minetest.get_node(pos).name
|
||||
local node = minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z})
|
||||
if node.name == "air" and (minetest.get_node_light(pos) or 0) >= 8 then
|
||||
local nextnode = get_next_grass_cover_level(node.name)
|
||||
if nextnode then
|
||||
minetest.set_node(pos, {name = nextnode, param2 = node.param2})
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Turn covered 'dirt with grass' back to dirt",
|
||||
nodenames = {"hades_core:dirt_with_grass"},
|
||||
nodenames = {"group:dirt_with_grass"},
|
||||
interval = 2,
|
||||
chance = 20,
|
||||
action = function(pos, node)
|
||||
@ -213,7 +250,7 @@ minetest.register_abm({
|
||||
if name ~= "ignore" and nodedef
|
||||
and not ((nodedef.sunlight_propagates or nodedef.paramtype == "light")
|
||||
and nodedef.liquidtype == "none") then
|
||||
minetest.set_node(pos, {name = "hades_core:dirt"})
|
||||
minetest.set_node(pos, {name = "hades_core:dirt", param2 = node.param2})
|
||||
end
|
||||
end
|
||||
})
|
||||
@ -310,15 +347,15 @@ minetest.register_abm({
|
||||
minetest.register_abm({
|
||||
label = "Create dirt (extended water check)",
|
||||
nodenames = {"hades_core:fertile_sand"},
|
||||
neighbors = {"hades_core:dirt", "hades_core:dirt_with_grass"},
|
||||
neighbors = {"group:dirt"},
|
||||
interval = 50,
|
||||
chance = 5,
|
||||
action = function(pos, node)
|
||||
if minetest.find_node_near(pos, 10, {"group:water"}) == nil then
|
||||
return
|
||||
else
|
||||
minetest.set_node(pos, {name="hades_core:dirt"})
|
||||
end
|
||||
if minetest.find_node_near(pos, 10, {"group:water"}) == nil then
|
||||
return
|
||||
else
|
||||
minetest.set_node(pos, {name="hades_core:dirt"})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
@ -333,29 +370,6 @@ minetest.register_abm({
|
||||
end,
|
||||
})
|
||||
|
||||
--
|
||||
-- Dirt transformation
|
||||
--
|
||||
|
||||
minetest.register_abm({
|
||||
label = "Grow grass on dirt",
|
||||
nodenames = {"hades_core:dirt"},
|
||||
interval = 50,
|
||||
chance = 20,
|
||||
action = function(pos, node)
|
||||
local name = minetest.get_node(pos).name
|
||||
pos.y = pos.y+1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
if minetest.get_node_light(pos) < 8 then
|
||||
return
|
||||
else
|
||||
pos.y = pos.y-1
|
||||
minetest.set_node(pos, {name="hades_core:dirt_with_grass"})
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
--
|
||||
-- Sugarcane growing
|
||||
--
|
||||
@ -363,13 +377,13 @@ minetest.register_abm({
|
||||
minetest.register_abm({
|
||||
label = "Grow sugarcane",
|
||||
nodenames = {"hades_core:sugarcane"},
|
||||
neighbors = {"hades_core:dirt", "hades_core:dirt_with_grass"},
|
||||
neighbors = {"group:dirt"},
|
||||
interval = 55,
|
||||
chance = 35,
|
||||
action = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
local name = minetest.get_node(pos).name
|
||||
if name == "hades_core:dirt" or name == "hades_core:dirt_with_grass" then
|
||||
if minetest.get_item_group(name, "dirt") > 0 then
|
||||
pos.y = pos.y+1
|
||||
local height = 0
|
||||
while minetest.get_node(pos).name == "hades_core:sugarcane" and height < 3 do
|
||||
@ -392,14 +406,12 @@ minetest.register_abm({
|
||||
interval = 500,
|
||||
chance = 25,
|
||||
action = function(pos, node)
|
||||
if minetest.find_node_near(pos, 10, {"hades_core:sugarcane"}) == nil then
|
||||
pos.y = pos.y+1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name="hades_core:sugarcane"})
|
||||
end
|
||||
else
|
||||
return
|
||||
end
|
||||
if minetest.find_node_near(pos, 10, {"hades_core:sugarcane"}) == nil then
|
||||
pos.y = pos.y+1
|
||||
if minetest.get_node(pos).name == "air" then
|
||||
minetest.set_node(pos, {name="hades_core:sugarcane"})
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
@ -435,13 +447,13 @@ minetest.register_abm({
|
||||
minetest.register_abm({
|
||||
label = "Grow papyrus",
|
||||
nodenames = {"hades_core:papyrus"},
|
||||
neighbors = {"hades_core:dirt", "hades_core:dirt_with_grass"},
|
||||
neighbors = {"group:dirt"},
|
||||
interval = 50,
|
||||
chance = 20,
|
||||
action = function(pos, node)
|
||||
pos.y = pos.y-1
|
||||
local name = minetest.get_node(pos).name
|
||||
if name == "hades_core:dirt" or name == "hades_core:dirt_with_grass" then
|
||||
if minetest.get_item_group(name, "dirt") > 0 then
|
||||
if minetest.find_node_near(pos, 3, {"group:water"}) == nil then
|
||||
return
|
||||
end
|
||||
|
@ -3,6 +3,7 @@ hades_core = {}
|
||||
-- Load files
|
||||
dofile(minetest.get_modpath("hades_core").."/functions.lua")
|
||||
dofile(minetest.get_modpath("hades_core").."/simple_nodes.lua")
|
||||
dofile(minetest.get_modpath("hades_core").."/dirt.lua")
|
||||
dofile(minetest.get_modpath("hades_core").."/liquids.lua")
|
||||
dofile(minetest.get_modpath("hades_core").."/tools.lua")
|
||||
dofile(minetest.get_modpath("hades_core").."/plants.lua")
|
||||
|
@ -362,27 +362,7 @@ minetest.register_node("hades_core:stone_with_ruby", {
|
||||
sounds = hades_sounds.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
-- Soft blocks: dirt, ash, sand, gravel
|
||||
|
||||
minetest.register_node("hades_core:dirt_with_grass", {
|
||||
description = S("Dirt with Grass"),
|
||||
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1,dirt=1, porous=1},
|
||||
drop = 'hades_core:dirt',
|
||||
sounds = hades_sounds.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.25},
|
||||
}),
|
||||
})
|
||||
|
||||
minetest.register_node("hades_core:dirt", {
|
||||
description = S("Dirt"),
|
||||
_tt_help = S("Becomes grassy when exposed to light"),
|
||||
tiles = {"default_dirt.png"},
|
||||
is_ground_content = true,
|
||||
groups = {crumbly=3,soil=1,dirt=1, porous=1},
|
||||
sounds = hades_sounds.node_sound_dirt_defaults(),
|
||||
})
|
||||
-- Soft blocks: ash, sand, gravel, etc. (except dirt)
|
||||
|
||||
minetest.register_node("hades_core:ash", {
|
||||
description = S("Volcanic Ash"),
|
||||
|
Before Width: | Height: | Size: 609 B |
Before Width: | Height: | Size: 475 B |
BIN
mods/hades_core/textures/hades_core_grass_cover_colorable.png
Normal file
After Width: | Height: | Size: 595 B |
Before Width: | Height: | Size: 222 B |
Before Width: | Height: | Size: 243 B |
BIN
mods/hades_core/textures/hades_core_grass_mask_l1.png
Normal file
After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 248 B After Width: | Height: | Size: 248 B |
BIN
mods/hades_core/textures/hades_core_grass_mask_l3.png
Normal file
After Width: | Height: | Size: 243 B |
After Width: | Height: | Size: 269 B |
After Width: | Height: | Size: 263 B |
After Width: | Height: | Size: 281 B |
After Width: | Height: | Size: 199 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l1_xm.png
Normal file
After Width: | Height: | Size: 133 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l1_xp.png
Normal file
After Width: | Height: | Size: 132 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l1_zm.png
Normal file
After Width: | Height: | Size: 132 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l1_zp.png
Normal file
After Width: | Height: | Size: 137 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l2_xm.png
Normal file
After Width: | Height: | Size: 167 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l2_xp.png
Normal file
After Width: | Height: | Size: 162 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l2_zm.png
Normal file
After Width: | Height: | Size: 159 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l2_zp.png
Normal file
After Width: | Height: | Size: 163 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l3_xm.png
Normal file
After Width: | Height: | Size: 185 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l3_xp.png
Normal file
After Width: | Height: | Size: 188 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l3_zm.png
Normal file
After Width: | Height: | Size: 379 B |
BIN
mods/hades_core/textures/hades_core_grass_side_mask_l3_zp.png
Normal file
After Width: | Height: | Size: 182 B |
BIN
mods/hades_core/textures/hades_core_palette_grass.png
Normal file
After Width: | Height: | Size: 172 B |
@ -1,28 +1,26 @@
|
||||
local S = minetest.get_translator("hades_farming")
|
||||
|
||||
local dirt_groups = table.copy(minetest.registered_nodes["hades_core:dirt"].groups)
|
||||
local dwg_groups = table.copy(minetest.registered_nodes["hades_core:dirt_with_grass"].groups)
|
||||
local override_nodes = {
|
||||
"hades_core:dirt",
|
||||
"hades_core:dirt_with_grass_l1",
|
||||
"hades_core:dirt_with_grass_l2",
|
||||
"hades_core:dirt_with_grass_l3",
|
||||
"hades_core:dirt_with_grass",
|
||||
}
|
||||
for n=1, #override_nodes do
|
||||
local nodename = override_nodes[n]
|
||||
local groups = table.copy(minetest.registered_nodes[nodename].groups)
|
||||
groups.soil = 1
|
||||
|
||||
dirt_groups.soil = 1
|
||||
dwg_groups.soil = 1
|
||||
|
||||
minetest.override_item("hades_core:dirt", {
|
||||
groups = dirt_groups,
|
||||
soil = {
|
||||
base = "hades_core:dirt",
|
||||
dry = "hades_farming:soil",
|
||||
wet = "hades_farming:soil_wet"
|
||||
}
|
||||
})
|
||||
|
||||
minetest.override_item("hades_core:dirt_with_grass", {
|
||||
dwg_groups,
|
||||
soil = {
|
||||
base = "hades_core:dirt_with_grass",
|
||||
dry = "hades_farming:soil",
|
||||
wet = "hades_farming:soil_wet"
|
||||
}
|
||||
})
|
||||
minetest.override_item(nodename, {
|
||||
groups = groups,
|
||||
soil = {
|
||||
base = nodename,
|
||||
dry = "hades_farming:soil",
|
||||
wet = "hades_farming:soil_wet"
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("hades_farming:soil", {
|
||||
description = S("Soil"),
|
||||
|
@ -141,15 +141,17 @@ local get_apply_fertilizer = function(super)
|
||||
end
|
||||
end
|
||||
end
|
||||
elseif nname == "hades_core:dirt" or nname == "hades_core:stone" or nname == "hades_core:tuff" or nname == "hades_core:cobble" or nname == "walls:cobble" then
|
||||
-- Grow grass on dirt
|
||||
elseif nname == "hades_core:dirt" or minetest.get_item_group(nname, "dirt_with_grass") > 1 or nname == "hades_core:stone" or nname == "hades_core:tuff" or nname == "hades_core:cobble" or nname == "walls:cobble" then
|
||||
-- Grow grass cover on dirt
|
||||
-- [SUPER] also grow moss
|
||||
local posses = {}
|
||||
local minmax
|
||||
local dwg2 = minetest.get_item_group(nname, "dirt_with_grass")
|
||||
local d2 = minetest.get_item_group(nname, "dirt")
|
||||
if super then
|
||||
minmax=2
|
||||
else
|
||||
if nname ~= "hades_core:dirt" then
|
||||
if d2 == 0 and dwg2 == 0 then
|
||||
return itemstack
|
||||
end
|
||||
minmax=1
|
||||
@ -161,12 +163,18 @@ local get_apply_fertilizer = function(super)
|
||||
if vector.distance(pos, ppos) <= 2.3 then
|
||||
local node = minetest.get_node(ppos)
|
||||
local above_node = minetest.get_node({x = x, y = y + 1, z = z})
|
||||
if node.name == nname and
|
||||
-- Apply change to same or "compatible" node type as the pointed
|
||||
-- node only, e.g. dirt is "compatible" with dirt-with-grass
|
||||
local d1 = minetest.get_item_group(node.name, "dirt")
|
||||
local dwg1 = minetest.get_item_group(node.name, "dirt_with_grass")
|
||||
if ((node.name == nname) or ((dwg1 > 1 or d1 > 0) and (dwg2 > 1 or d2 > 0))) and
|
||||
(nname ~= "hades_core:dirt" or
|
||||
(minetest.registered_nodes[above_node.name] and
|
||||
minetest.registered_nodes[above_node.name].walkable == false)) then
|
||||
if nname == "hades_core:dirt" then
|
||||
node.name = "hades_core:dirt_with_grass"
|
||||
elseif dwg2 > 0 then
|
||||
node.name = "hades_core:dirt_with_grass"
|
||||
elseif nname == "hades_core:stone" then
|
||||
node.name = "hades_core:mossystone"
|
||||
elseif nname == "hades_core:tuff" then
|
||||
|
@ -1,7 +1,7 @@
|
||||
local S = minetest.get_translator("hades_magic_wand")
|
||||
|
||||
local cycles = {
|
||||
{ "hades_core:dirt", "hades_core:dirt_with_grass" },
|
||||
{ "hades_core:dirt", "hades_core:dirt_with_grass_l1", "hades_core:dirt_with_grass_l2", "hades_core:dirt_with_grass_l3", "hades_core:dirt_with_grass" },
|
||||
{ "hades_farming:soil", "hades_farming:soil_wet" },
|
||||
{ "hades_core:grass_1", "hades_core:grass_2", "hades_core:grass_3", "hades_core:grass_4", "hades_core:grass_5" },
|
||||
{ "hades_waterplants:seaweed_4", "hades_waterplants:seaweed_2", "hades_waterplants:seaweed_3", "hades_waterplants:seaweed" },
|
||||
|
@ -1,5 +1,7 @@
|
||||
local pr_a, pr_j -- PseudoRandom vars
|
||||
|
||||
local default_underground = {"hades_core:dirt", "hades_core:dirt_with_grass_l1", "hades_core:dirt_with_grass_l2", "hades_core:dirt_with_grass_l3", "hades_core:dirt_with_grass"}
|
||||
|
||||
function hades_trees.grow_sapling(pos, check_light)
|
||||
local node = minetest.get_node(pos, check_light)
|
||||
if node.name == "hades_trees:sapling" then
|
||||
@ -47,7 +49,7 @@ function hades_trees.generate_tree(pos, check_light, trunk, leaves, underground,
|
||||
leaves = "hades_trees:leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
pos.y = pos.y-1
|
||||
local nodename = minetest.get_node(pos).name
|
||||
@ -155,7 +157,7 @@ function hades_trees.generate_olivetree(pos, check_light, trunk, leaves, undergr
|
||||
leaves = "hades_trees:olive_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
if not replacements then
|
||||
replacements = {["hades_trees:olive"]=10}
|
||||
@ -172,7 +174,7 @@ function hades_trees.generate_orangetree(pos, check_light, trunk, leaves, underg
|
||||
leaves = "hades_trees:orange_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
if not replacements then
|
||||
replacements = {["hades_trees:orange"]=20}
|
||||
@ -190,7 +192,7 @@ function hades_trees.generate_cocoatree(pos, check_light, trunk, leaves, undergr
|
||||
leaves = "hades_trees:jungle_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
if not replacements then
|
||||
replacements = {["hades_trees:cocoa_pod"]=12}
|
||||
@ -207,7 +209,7 @@ function hades_trees.generate_coconutpalm(pos, check_light, trunk, leaves, under
|
||||
leaves = "hades_trees:jungle_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
if not replacements then
|
||||
replacements = {["hades_trees:coconut"]=20}
|
||||
@ -224,7 +226,10 @@ function hades_trees.generate_paletree(pos, check_light, trunk, leaves, undergro
|
||||
leaves = "hades_trees:pale_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass", "hades_core:ash", "hades_core:volcanic_sand", "hades_core:fertile_sand"}
|
||||
underground = table.copy(default_underground)
|
||||
table.insert(underground, "hades_core:ash")
|
||||
table.insert(underground, "hades_core:volcanic_sand")
|
||||
table.insert(underground, "hades_core:fertile_sand")
|
||||
end
|
||||
pos.y = pos.y-1
|
||||
local nodename = minetest.get_node(pos).name
|
||||
@ -314,7 +319,7 @@ function hades_trees.generate_birchtree(pos, check_light, trunk, leaves, undergr
|
||||
leaves = "hades_trees:birch_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
pos.y = pos.y-1
|
||||
local nodename = minetest.get_node(pos).name
|
||||
@ -407,7 +412,7 @@ function hades_trees.generate_cjtree(pos, check_light, trunk, leaves, undergroun
|
||||
leaves = "hades_trees:cultivated_jungle_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
|
||||
pos.y = pos.y-1
|
||||
@ -502,7 +507,7 @@ function hades_trees.generate_jungletree(pos, check_light)
|
||||
local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
|
||||
|
||||
local ret = false
|
||||
for _,name in ipairs({"hades_core:dirt", "hades_core:dirt_with_grass"}) do
|
||||
for _,name in ipairs(default_underground{}) do
|
||||
if nu == name then
|
||||
ret = true
|
||||
break
|
||||
@ -591,7 +596,7 @@ function hades_trees.generate_appletree(pos, check_light, is_apple_tree)
|
||||
local nu = minetest.get_node({x=pos.x, y=pos.y-1, z=pos.z}).name
|
||||
|
||||
local ret = false
|
||||
for _,name in ipairs({"hades_core:dirt", "hades_core:dirt_with_grass"}) do
|
||||
for _,name in ipairs(default_underground) do
|
||||
if nu == name then
|
||||
ret = true
|
||||
break
|
||||
@ -691,7 +696,7 @@ function hades_trees.generate_bananatree(pos, check_light, trunk, leaves, underg
|
||||
leaves = "hades_trees:banana_leaves"
|
||||
end
|
||||
if not underground then
|
||||
underground = {"hades_core:dirt", "hades_core:dirt_with_grass"}
|
||||
underground = default_underground
|
||||
end
|
||||
if not replacements then
|
||||
replacements = {["hades_trees:banana"]=9}
|
||||
|
@ -362,7 +362,7 @@ plantslib:spawn_on_surfaces({
|
||||
spawn_delay = spawn_interval,
|
||||
spawn_plants = {"hades_vines:cave"},
|
||||
spawn_chance = 50,
|
||||
spawn_surfaces = {"hades_core:dirt_with_grass","hades_core:dirt"},
|
||||
spawn_surfaces = {"hades_core:dirt_with_grass","hades_core:dirt_with_grass_l1","hades_core:dirt_with_grass_l2","hades_core:dirt_with_grass_l3","hades_core:dirt"},
|
||||
spawn_on_bottom = true,
|
||||
plantlife_limit = -0.9,
|
||||
})
|
||||
|