Skip to content

Commit

Permalink
Add 'dry dirt' and 'dry dirt with dry grass' nodes for savanna biome
Browse files Browse the repository at this point in the history
  • Loading branch information
TumeniNodes authored and paramat committed Jul 26, 2019
1 parent 4282a93 commit c32b8ad
Show file tree
Hide file tree
Showing 6 changed files with 82 additions and 18 deletions.
1 change: 1 addition & 0 deletions mods/default/README.txt
Expand Up @@ -129,6 +129,7 @@ TumeniNodes (CC BY-SA 3.0):
default_coniferous_litter.png
default_coniferous_litter_side.png
default_grass.png
default_dry_dirt.png

BlockMen (CC BY-SA 3.0):
default_aspen_leaves.png -- Derived from Sofar's texture
Expand Down
12 changes: 6 additions & 6 deletions mods/default/functions.lua
Expand Up @@ -477,7 +477,6 @@ minetest.register_abm({
neighbors = {
"air",
"group:grass",
"group:dry_grass",
"default:snow",
},
interval = 6,
Expand All @@ -504,11 +503,8 @@ minetest.register_abm({
-- Snow check is cheapest, so comes first
if name == "default:snow" then
minetest.set_node(pos, {name = "default:dirt_with_snow"})
-- Most likely case first
elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"})
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
end
end
})
Expand All @@ -520,7 +516,7 @@ minetest.register_abm({

minetest.register_abm({
label = "Grass covered",
nodenames = {"group:spreading_dirt_type"},
nodenames = {"group:spreading_dirt_type", "default:dry_dirt_with_dry_grass"},
interval = 8,
chance = 50,
catch_up = false,
Expand All @@ -531,7 +527,11 @@ 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 = "default:dirt"})
if node.name == "default:dry_dirt_with_dry_grass" then
minetest.set_node(pos, {name = "default:dry_dirt"})
else
minetest.set_node(pos, {name = "default:dirt"})
end
end
end
})
Expand Down
22 changes: 11 additions & 11 deletions mods/default/mapgen.lua
Expand Up @@ -575,8 +575,8 @@ function default.register_ores()
},
-- Only where default:dirt is present as surface material
biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest",
"deciduous_forest", "deciduous_forest_shore", "savanna", "savanna_shore",
"rainforest", "rainforest_swamp", "floatland_coniferous_forest"}
"deciduous_forest", "deciduous_forest_shore", "rainforest",
"rainforest_swamp", "floatland_coniferous_forest"}
})

-- Gravel
Expand Down Expand Up @@ -1487,9 +1487,9 @@ function default.register_biomes(upper_limit)

minetest.register_biome({
name = "savanna",
node_top = "default:dirt_with_dry_grass",
node_top = "default:dry_dirt_with_dry_grass",
depth_top = 1,
node_filler = "default:dirt",
node_filler = "default:dry_dirt",
depth_filler = 1,
node_riverbed = "default:sand",
depth_riverbed = 2,
Expand All @@ -1504,9 +1504,9 @@ function default.register_biomes(upper_limit)

minetest.register_biome({
name = "savanna_shore",
node_top = "default:dirt",
node_top = "default:dry_dirt",
depth_top = 1,
node_filler = "default:dirt",
node_filler = "default:dry_dirt",
depth_filler = 3,
node_riverbed = "default:sand",
depth_riverbed = 2,
Expand Down Expand Up @@ -1798,7 +1798,7 @@ local function register_dry_grass_decoration(offset, scale, length)
minetest.register_decoration({
name = "default:dry_grass_" .. length,
deco_type = "simple",
place_on = {"default:dirt_with_dry_grass"},
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = offset,
Expand Down Expand Up @@ -2012,7 +2012,7 @@ function default.register_decorations()
minetest.register_decoration({
name = "default:acacia_tree",
deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"},
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = 0,
Expand All @@ -2033,7 +2033,7 @@ function default.register_decorations()
minetest.register_decoration({
name = "default:acacia_log",
deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"},
place_on = {"default:dry_dirt_with_dry_grass"},
place_offset_y = 1,
sidelen = 16,
noise_params = {
Expand All @@ -2050,7 +2050,7 @@ function default.register_decorations()
schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts",
flags = "place_center_x",
rotation = "random",
spawn_by = "default:dirt_with_dry_grass",
spawn_by = "default:dry_dirt_with_dry_grass",
num_spawn_by = 8,
})

Expand Down Expand Up @@ -2218,7 +2218,7 @@ function default.register_decorations()
minetest.register_decoration({
name = "default:acacia_bush",
deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"},
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16,
noise_params = {
offset = -0.004,
Expand Down
23 changes: 22 additions & 1 deletion mods/default/nodes.lua
Expand Up @@ -52,6 +52,8 @@ default:dirt_with_dry_grass
default:dirt_with_snow
default:dirt_with_rainforest_litter
default:dirt_with_coniferous_litter
default:dry_dirt
default:dry_dirt_with_dry_grass
default:permafrost
default:permafrost_with_stones
Expand Down Expand Up @@ -459,7 +461,7 @@ minetest.register_node("default:dirt_with_dry_grass", {
"default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
groups = {crumbly = 3, soil = 1},
drop = 'default:dirt',
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4},
Expand Down Expand Up @@ -508,6 +510,25 @@ minetest.register_node("default:dirt_with_coniferous_litter", {
}),
})
minetest.register_node("default:dry_dirt", {
description = "Dry Dirt",
tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:dry_dirt_with_dry_grass", {
description = "Dry Dirt with Dry Grass",
tiles = {"default_dry_grass.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1},
drop = "default:dry_dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4},
}),
})
minetest.register_node("default:permafrost", {
description = "Permafrost",
tiles = {"default_permafrost.png"},
Expand Down
Binary file added mods/default/textures/default_dry_dirt.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 42 additions & 0 deletions mods/farming/nodes.lua
Expand Up @@ -38,6 +38,22 @@ minetest.override_item("default:dirt_with_coniferous_litter", {
}
})

minetest.override_item("default:dry_dirt", {
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})

minetest.override_item("default:dry_dirt_with_dry_grass", {
soil = {
base = "default:dry_dirt_with_dry_grass",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})

minetest.register_node("farming:soil", {
description = "Soil",
tiles = {"default_dirt.png^farming_soil.png", "default_dirt.png"},
Expand All @@ -64,6 +80,32 @@ minetest.register_node("farming:soil_wet", {
}
})

minetest.register_node("farming:dry_soil", {
description = "Dry Soil",
tiles = {"default_dry_dirt.png^farming_soil.png", "default_dry_dirt.png"},
drop = "default:dry_dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})

minetest.register_node("farming:dry_soil_wet", {
description = "Wet Dry Soil",
tiles = {"default_dry_dirt.png^farming_soil_wet.png", "default_dry_dirt.png^farming_soil_wet_side.png"},
drop = "default:dry_dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1},
sounds = default.node_sound_dirt_defaults(),
soil = {
base = "default:dry_dirt",
dry = "farming:dry_soil",
wet = "farming:dry_soil_wet"
}
})

minetest.override_item("default:desert_sand", {
groups = {crumbly=3, falling_node=1, sand=1, soil = 1},
soil = {
Expand Down

0 comments on commit c32b8ad

Please sign in to comment.