Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Biomes: Add pine bush to taiga and snowy grassland
Replaces 'bush' in snowy grassland.
  • Loading branch information
TumeniNodes authored and paramat committed Jul 13, 2018
1 parent d4b0b73 commit 9318c71
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 2 deletions.
3 changes: 3 additions & 0 deletions game_api.txt
Expand Up @@ -918,6 +918,9 @@ Trees

* `default.grow_acacia_bush(pos)`
* Grows an acaia bush at pos

* `default.grow_pine_bush(pos)`
* Grows a pine bush at pos

Carts
-----
Expand Down
2 changes: 2 additions & 0 deletions mods/default/README.txt
Expand Up @@ -79,11 +79,13 @@ paramat (CC BY-SA 3.0):
default_acacia_leaves_simple.png
default_acacia_sapling.png
default_acacia_bush_sapling.png
default_pine_bush_sapling.png
default_acacia_tree.png
default_acacia_tree_top.png
default_acacia_wood.png
default_acacia_bush_stem.png
default_bush_stem.png
default_pine_bush_stem.png
default_junglewood.png
default_jungletree_top.png
default_sandstone_brick.png
Expand Down
19 changes: 19 additions & 0 deletions mods/default/crafting.lua
Expand Up @@ -49,6 +49,13 @@ minetest.register_craft({
}
})

minetest.register_craft({
output = "default:pine_wood",
recipe = {
{"default:pine_bush_stem"},
}
})

minetest.register_craft({
output = 'default:stick 4',
recipe = {
Expand Down Expand Up @@ -953,6 +960,12 @@ minetest.register_craft({
burntime = 4,
})

minetest.register_craft({
type = "fuel",
recipe = "default:pine_bush_sapling",
burntime = 2,
})

minetest.register_craft({
type = "fuel",
recipe = "default:aspen_sapling",
Expand Down Expand Up @@ -1058,6 +1071,12 @@ minetest.register_craft({
burntime = 8,
})

minetest.register_craft({
type = "fuel",
recipe = "default:pine_bush_stem",
burntime = 6,
})

minetest.register_craft({
type = "fuel",
recipe = "default:junglegrass",
Expand Down
26 changes: 24 additions & 2 deletions mods/default/mapgen.lua
Expand Up @@ -1946,7 +1946,7 @@ function default.register_decorations()
minetest.register_decoration({
name = "default:bush",
deco_type = "schematic",
place_on = {"default:dirt_with_grass", "default:dirt_with_snow"},
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.004,
Expand All @@ -1956,7 +1956,7 @@ function default.register_decorations()
octaves = 3,
persist = 0.7,
},
biomes = {"snowy_grassland", "grassland", "deciduous_forest",
biomes = {"grassland", "deciduous_forest",
"floatland_grassland"},
y_max = 31000,
y_min = 1,
Expand Down Expand Up @@ -1986,6 +1986,28 @@ function default.register_decorations()
flags = "place_center_x, place_center_z",
})

-- Pine bush

minetest.register_decoration({
name = "default:pine_bush",
deco_type = "schematic",
place_on = {"default:dirt_with_snow"},
sidelen = 16,
noise_params = {
offset = -0.004,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 137,
octaves = 3,
persist = 0.7,
},
biomes = {"taiga", "snowy_grassland"},
y_max = 31000,
y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_bush.mts",
flags = "place_center_x, place_center_z",
})

-- Grasses

register_grass_decoration(-0.03, 0.09, 5)
Expand Down
80 changes: 80 additions & 0 deletions mods/default/nodes.lua
Expand Up @@ -162,6 +162,9 @@ default:bush_sapling
default:acacia_bush_stem
default:acacia_bush_leaves
default:acacia_bush_sapling
default:pine_bush_stem
default:pine_bush_needles
default:pine_bush_sapling
default:sand_with_kelp
Expand Down Expand Up @@ -1681,6 +1684,77 @@ minetest.register_node("default:acacia_bush_sapling", {
end,
})
minetest.register_node("default:pine_bush_stem", {
description = "Pine Bush Stem",
drawtype = "plantlike",
visual_scale = 1.41,
tiles = {"default_pine_bush_stem.png"},
inventory_image = "default_pine_bush_stem.png",
wield_image = "default_pine_bush_stem.png",
paramtype = "light",
sunlight_propagates = true,
groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
fixed = {-7 / 16, -0.5, -7 / 16, 7 / 16, 0.5, 7 / 16},
},
})
minetest.register_node("default:pine_bush_needles", {
description = "Pine Bush Needles",
drawtype = "allfaces_optional",
waving = 1,
tiles = {"default_pine_needles.png"},
paramtype = "light",
groups = {snappy = 3, flammable = 2, leaves = 1},
drop = {
max_items = 1,
items = {
{items = {"default:pine_bush_sapling"}, rarity = 5},
{items = {"default:pine_bush_needles"}}
}
},
sounds = default.node_sound_leaves_defaults(),
after_place_node = default.after_place_leaves,
})
minetest.register_node("default:pine_bush_sapling", {
description = "Pine Bush Sapling",
drawtype = "plantlike",
tiles = {"default_pine_bush_sapling.png"},
inventory_image = "default_pine_bush_sapling.png",
wield_image = "default_pine_bush_sapling.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
on_timer = default.grow_sapling,
selection_box = {
type = "fixed",
fixed = {-4 / 16, -0.5, -4 / 16, 4 / 16, 2 / 16, 4 / 16}
},
groups = {snappy = 2, dig_immediate = 3, flammable = 2,
attached_node = 1, sapling = 1},
sounds = default.node_sound_leaves_defaults(),
on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(300, 1500))
end,
on_place = function(itemstack, placer, pointed_thing)
itemstack = default.sapling_on_place(itemstack, placer, pointed_thing,
"default:pine_bush_sapling",
-- minp, maxp to be checked, relative to sapling pos
{x = -1, y = 0, z = -1},
{x = 1, y = 1, z = 1},
-- maximum interval of interior volume check
2)
return itemstack
end,
})
minetest.register_node("default:sand_with_kelp", {
description = "Kelp",
drawtype = "plantlike_rooted",
Expand Down Expand Up @@ -2532,3 +2606,9 @@ default.register_leafdecay({
leaves = {"default:acacia_bush_leaves"},
radius = 1,
})
default.register_leafdecay({
trunks = {"default:pine_bush_stem"},
leaves = {"default:pine_bush_needles"},
radius = 1,
})
Binary file added mods/default/schematics/pine_bush.mts
Binary file not shown.
Binary file added mods/default/textures/default_pine_bush_sapling.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added mods/default/textures/default_pine_bush_stem.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions mods/default/trees.lua
Expand Up @@ -85,6 +85,10 @@ function default.grow_sapling(pos)
minetest.log("action", "An acacia bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_acacia_bush(pos)
elseif node.name == "default:pine_bush_sapling" then
minetest.log("action", "A pine bush sapling grows into a bush at "..
minetest.pos_to_string(pos))
default.grow_pine_bush(pos)
elseif node.name == "default:emergent_jungle_sapling" then
minetest.log("action", "An emergent jungle sapling grows into a tree at "..
minetest.pos_to_string(pos))
Expand Down Expand Up @@ -483,6 +487,16 @@ function default.grow_acacia_bush(pos)
end
-- Pine bush
function default.grow_pine_bush(pos)
local path = minetest.get_modpath("default") ..
"/schematics/pine_bush.mts"
minetest.place_schematic({x = pos.x - 1, y = pos.y - 1, z = pos.z - 1},
path, "0", nil, false)
end
--
-- Sapling 'on place' function to check protection of node and resulting tree volume
--
Expand Down

0 comments on commit 9318c71

Please sign in to comment.