Skip to content
Permalink
Browse files
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 9318c71659df9c80653b71a438303ac43107f9c7
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 2 deletions.
@@ -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
-----
@@ -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
@@ -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 = {
@@ -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",
@@ -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",
@@ -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,
@@ -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,
@@ -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)
@@ -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
@@ -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",
@@ -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 not shown.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -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))
@@ -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
--

0 comments on commit 9318c71

Please sign in to comment.