forked from nalc/nalc_game
		
	Biomes: Add pine bush to taiga and snowy grassland
Replaces 'bush' in snowy grassland.
This commit is contained in:
		@@ -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,
 | 
			
		||||
})
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								mods/default/schematics/pine_bush.mts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/default/schematics/pine_bush.mts
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								mods/default/textures/default_pine_bush_sapling.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/default/textures/default_pine_bush_sapling.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 166 B  | 
							
								
								
									
										
											BIN
										
									
								
								mods/default/textures/default_pine_bush_stem.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/default/textures/default_pine_bush_stem.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 280 B  | 
@@ -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
 | 
			
		||||
--
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user