diff options
Diffstat (limited to 'bushes')
25 files changed, 261 insertions, 0 deletions
| diff --git a/bushes/depends.txt b/bushes/depends.txt new file mode 100644 index 0000000..f82a423 --- /dev/null +++ b/bushes/depends.txt @@ -0,0 +1,4 @@ +default +biome_lib +stonage? +sumpf? diff --git a/bushes/init.lua b/bushes/init.lua new file mode 100644 index 0000000..3dc9801 --- /dev/null +++ b/bushes/init.lua @@ -0,0 +1,257 @@ +-- Bushes Mod by Mossmanikin, Evergreen, & Neuromancer +-- The initial code for this was taken from Mossmanikin's Grasses Mod, then heavilly modified by Neuromancer for this mod. +-- Mossmanikin also greatly helped with providing samples for coding. +-- bush leaf textures are cc-by-sa 3.0.  from VannessaE's moretrees mod.  (Leaf texture created by RealBadAngel or VanessaE) +-- Branch textures created by Neuromancer. +-- Licence for Code and Non-Bush leaf code is WTFPL. +  +  abstract_bushes = {}  + +  minetest.register_node("bushes:youngtree2_bottom", { +	description = "Young Tree 2 (bottom)",  + drawtype="nodebox", + tiles = {"bushes_youngtree2trunk.png"}, + 	inventory_image = "bushes_youngtree2trunk_inv.png", +	wield_image = "bushes_youngtree2trunk_inv.png",  +paramtype = "light", +	walkable = false, +	is_ground_content = true, +node_box = { +	type = "fixed", +	fixed = { +		--{0.375000,-0.500000,-0.500000,0.500000,0.500000,-0.375000}, --NodeBox 1 +		{-0.0612,-0.500000,-0.500000,0.0612,0.500000,-0.375000}, --NodeBox 1 +	} +}, +	groups = {snappy=3,flammable=2}, +	sounds = default.node_sound_leaves_defaults(), +	drop = 'default:stick' +}) +   +  local BushBranchCenter 			= { {1,1}, {3,2} } +for i in pairs(BushBranchCenter) do +	local Num 		= BushBranchCenter[i][1] +	local TexNum 	= BushBranchCenter[i][2] +	minetest.register_node("bushes:bushbranches"..Num, { +		description = "Bush Branches "..Num, +		drawtype = "nodebox", +		tiles = { +			"bushes_leaves_"..TexNum..".png", +			"bushes_branches_center_"..TexNum..".png" +		}, +		node_box = { +			type = "fixed", +			fixed = { +				{0, -1/2, -1/2, -1/4, 1/2, 1/2}, +				{0, -1/2, -1/2, 1/4, 1/2, 1/2} +			}, +		}, +		selection_box = { +			type = "fixed", +			fixed = {-1/2, -1/2, -1/2, 1/2, 1/2, 1/2}, +		}, +		inventory_image = "bushes_branches_center_"..TexNum..".png", +		paramtype = "light", +			paramtype2 = "facedir", +				sunlight_propagates = true, +		groups = { +		--	tree=1, -- MM: disabled because some recipes use group:tree for trunks +			snappy=3,  +			flammable=2,  +			leaves=1 +		}, +		sounds = default.node_sound_leaves_defaults(), +		drop = 'default:stick 4' +	}) +end + +local BushBranchSide 			= { {2,1}, {4,2} } +for i in pairs(BushBranchSide) do +	local Num 		= BushBranchSide[i][1] +	local TexNum 	= BushBranchSide[i][2] +	minetest.register_node("bushes:bushbranches"..Num, { +		description = "Bush Branches "..Num, +		drawtype = "nodebox", +		tiles = { +--[[top]] 	"bushes_leaves_"..TexNum..".png", +--[[bottom]]"bushes_branches_center_"..TexNum..".png", +--[[right]]	"bushes_branches_left_"..TexNum..".png", +--[[left]]	"bushes_branches_right_"..TexNum..".png", -- MM: We could also mirror the previous here, +--[[back]]	"bushes_branches_center_"..TexNum..".png",--     unless U really want 'em 2 B different  +--[[front]]	"bushes_branches_right_"..TexNum..".png"   +		}, +		node_box = { +			type = "fixed", +			fixed = { +--				{ left	 , bottom  , front, right   , top     , back    } +				{0.137748,-0.491944, 0.5  ,-0.125000,-0.179444,-0.007790}, --NodeBox 1 +				{0.262748,-0.185995, 0.5  ,-0.237252, 0.126505,-0.260269}, --NodeBox 2 +				{0.500000, 0.125000, 0.5  ,-0.500000, 0.500000,-0.500000}, --NodeBox 3 +			}, +		}, +		selection_box = { +			type = "fixed", +			fixed = {-1/2, -1/2, -1/2, 1/2, 1/2, 1/2}, +		}, +		inventory_image = "bushes_branches_right_"..TexNum..".png", +		paramtype = "light", +			paramtype2 = "facedir", +				sunlight_propagates = true, +		groups = { +		--	tree=1, -- MM: disabled because some recipes use group:tree for trunks +			snappy=3,  +			flammable=2,  +			leaves=1 +		}, +		sounds = default.node_sound_leaves_defaults(), +		drop = 'default:stick 3' +	}) +end + +local BushLeafNode 			= { {1}, {2}} +for i in pairs(BushLeafNode) do +	local Num = BushLeafNode[i][1]	 +	minetest.register_node("bushes:BushLeaves"..Num, { +		description = "Bush Leaves "..Num, +		drawtype = "allfaces_optional", +		tiles = {"bushes_leaves_"..Num..".png"}, +		paramtype = "light", +		groups = {	-- MM: Should we add leafdecay?	 +			snappy=3, +			flammable=2, +			attached_node=1 +		}, +		sounds = default.node_sound_leaves_defaults(),     +	})	 +end + +abstract_bushes.grow_bush = function(pos) +	local leaf_type = math.random(1,2)	 +	local bush_side_height = math.random(0,1) +		local chance_of_bush_node_right = math.random(1,10) +		if chance_of_bush_node_right> 5 then +			local right_pos = {x=pos.x+1, y=pos.y+bush_side_height, z=pos.z} +			abstract_bushes.grow_bush_node(right_pos,3,leaf_type) +		end +		local chance_of_bush_node_left = math.random(1,10) +		if chance_of_bush_node_left> 5 then +			bush_side_height = math.random(0,1) +			local left_pos = {x=pos.x-1, y=pos.y+bush_side_height, z=pos.z} +			abstract_bushes.grow_bush_node(left_pos,1,leaf_type) +		end +		local chance_of_bush_node_front = math.random(1,10) +		if chance_of_bush_node_front> 5 then +			bush_side_height = math.random(0,1) +			local front_pos = {x=pos.x, y=pos.y+bush_side_height, z=pos.z+1} +			abstract_bushes.grow_bush_node(front_pos,2,leaf_type) +		end		 +		local chance_of_bush_node_back = math.random(1,10) +		if chance_of_bush_node_back> 5 then +			bush_side_height = math.random(0,1) +			local back_pos = {x=pos.x, y=pos.y+bush_side_height, z=pos.z-1} +			abstract_bushes.grow_bush_node(back_pos,0,leaf_type) +		end +		 +abstract_bushes.grow_bush_node(pos,5,leaf_type) +end + +abstract_bushes.grow_bush_node = function(pos,dir, leaf_type) +	 +	 +	local right_here = {x=pos.x, y=pos.y+1, z=pos.z} +	local above_right_here = {x=pos.x, y=pos.y+2, z=pos.z} +	 +	local bush_branch_type = 2 +	 +	-- MM: I'm not sure if it's slower now than before... +	if dir ~= 5 and leaf_type == 1 then +		bush_branch_type = 2 +	end +	if dir ~= 5 and leaf_type == 2 then +		bush_branch_type = 4 +	end +	if dir == 5 and leaf_type == 1 then +		bush_branch_type = 1 +		dir = 1 +	end +	if dir == 5 and leaf_type == 2 then +		bush_branch_type = 3 +		dir = 1 +	end +	 +	if minetest.get_node(right_here).name == "air"  -- instead of check_air = true, +	or minetest.get_node(right_here).name == "default:junglegrass" then +		minetest.set_node(right_here, {name="bushes:bushbranches"..bush_branch_type , param2=dir}) +						--minetest.chat_send_all("leaf_type: (" .. leaf_type .. ")") +		minetest.set_node(above_right_here, {name="bushes:BushLeaves"..leaf_type}) +		local chance_of_high_leaves = math.random(1,10) +		if chance_of_high_leaves> 5 then +			local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} +							--minetest.chat_send_all("leaf_type: (" .. leaf_type .. ")") +			minetest.set_node(two_above_right_here, {name="bushes:BushLeaves"..leaf_type}) +		end +	end +end + + +biome_lib:register_generate_plant({ +    surface = { +		"default:dirt_with_grass",  +		"stoneage:grass_with_silex", +		"sumpf:peat", +		"sumpf:sumpf" +	}, +    max_count = 15,  --10,15 +    rarity = 101 - 4,  --3,4 +    min_elevation = 1, -- above sea level +	plantlife_limit = -0.9, +  }, +  abstract_bushes.grow_bush +)		 + + abstract_bushes.grow_youngtree2 = function(pos) +	local height = math.random(4,5)	 +	abstract_bushes.grow_youngtree_node2(pos,height) +end + +abstract_bushes.grow_youngtree_node2 = function(pos, height) +	 +	 +	local right_here = {x=pos.x, y=pos.y+1, z=pos.z} +	local above_right_here = {x=pos.x, y=pos.y+2, z=pos.z} +	local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} +	local three_above_right_here = {x=pos.x, y=pos.y+4, z=pos.z} +	  +	if minetest.get_node(right_here).name == "air"  -- instead of check_air = true, +	or minetest.get_node(right_here).name == "default:junglegrass" then +		if height == 4 then +				local two_above_right_here_south = {x=pos.x, y=pos.y+3, z=pos.z-1} +				local three_above_right_here_south = {x=pos.x, y=pos.y+4, z=pos.z-1} +				minetest.set_node(right_here, {name="bushes:youngtree2_bottom"}) +				minetest.set_node(above_right_here, {name="bushes:youngtree2_bottom"}) +				minetest.set_node(two_above_right_here, {name="bushes:bushbranches2"  , param2=2}) +				minetest.set_node(two_above_right_here_south, {name="bushes:bushbranches2"  , param2=0}) +				minetest.set_node(three_above_right_here, {name="bushes:BushLeaves1" }) +				minetest.set_node(three_above_right_here_south, {name="bushes:BushLeaves1" }) +		end +		  +	end +end + + +biome_lib:register_generate_plant({ +    surface = { +		"default:dirt_with_grass",  +		"stoneage:grass_with_silex", +		"sumpf:peat", +		"sumpf:sumpf" +	}, +    max_count = 55,  --10,15 +    rarity = 101 - 4,  --3,4 +    min_elevation = 1, -- above sea level +	plantlife_limit = -0.9, +  }, +  abstract_bushes.grow_youngtree2 +)	 +	  +		--http://dev.minetest.net/Node_Drawtypes diff --git a/bushes/textures/bushes_branches_center_1.png b/bushes/textures/bushes_branches_center_1.pngBinary files differ new file mode 100644 index 0000000..bac3ee4 --- /dev/null +++ b/bushes/textures/bushes_branches_center_1.png diff --git a/bushes/textures/bushes_branches_center_2.png b/bushes/textures/bushes_branches_center_2.pngBinary files differ new file mode 100644 index 0000000..c21edf6 --- /dev/null +++ b/bushes/textures/bushes_branches_center_2.png diff --git a/bushes/textures/bushes_branches_left_1.png b/bushes/textures/bushes_branches_left_1.pngBinary files differ new file mode 100644 index 0000000..120f100 --- /dev/null +++ b/bushes/textures/bushes_branches_left_1.png diff --git a/bushes/textures/bushes_branches_left_2.png b/bushes/textures/bushes_branches_left_2.pngBinary files differ new file mode 100644 index 0000000..1c17bac --- /dev/null +++ b/bushes/textures/bushes_branches_left_2.png diff --git a/bushes/textures/bushes_branches_right_1.png b/bushes/textures/bushes_branches_right_1.pngBinary files differ new file mode 100644 index 0000000..af5de67 --- /dev/null +++ b/bushes/textures/bushes_branches_right_1.png diff --git a/bushes/textures/bushes_branches_right_2.png b/bushes/textures/bushes_branches_right_2.pngBinary files differ new file mode 100644 index 0000000..8fb8332 --- /dev/null +++ b/bushes/textures/bushes_branches_right_2.png diff --git a/bushes/textures/bushes_leaves_1.png b/bushes/textures/bushes_leaves_1.pngBinary files differ new file mode 100644 index 0000000..594c958 --- /dev/null +++ b/bushes/textures/bushes_leaves_1.png diff --git a/bushes/textures/bushes_leaves_2.png b/bushes/textures/bushes_leaves_2.pngBinary files differ new file mode 100644 index 0000000..e6de482 --- /dev/null +++ b/bushes/textures/bushes_leaves_2.png diff --git a/bushes/textures/bushes_youngtree2trunk.png b/bushes/textures/bushes_youngtree2trunk.pngBinary files differ new file mode 100644 index 0000000..ea685e3 --- /dev/null +++ b/bushes/textures/bushes_youngtree2trunk.png diff --git a/bushes/textures/bushes_youngtree2trunk_inv.png b/bushes/textures/bushes_youngtree2trunk_inv.pngBinary files differ new file mode 100644 index 0000000..7d6728f --- /dev/null +++ b/bushes/textures/bushes_youngtree2trunk_inv.png diff --git a/bushes/textures/old & unused/BlockBranch1.png b/bushes/textures/old & unused/BlockBranch1.pngBinary files differ new file mode 100644 index 0000000..28fe91f --- /dev/null +++ b/bushes/textures/old & unused/BlockBranch1.png diff --git a/bushes/textures/old & unused/BlockBranch1L.png b/bushes/textures/old & unused/BlockBranch1L.pngBinary files differ new file mode 100644 index 0000000..1d8a8e2 --- /dev/null +++ b/bushes/textures/old & unused/BlockBranch1L.png diff --git a/bushes/textures/old & unused/BlockBranch1R.png b/bushes/textures/old & unused/BlockBranch1R.pngBinary files differ new file mode 100644 index 0000000..514b888 --- /dev/null +++ b/bushes/textures/old & unused/BlockBranch1R.png diff --git a/bushes/textures/old & unused/BushBranches1.png b/bushes/textures/old & unused/BushBranches1.pngBinary files differ new file mode 100644 index 0000000..5bb2b46 --- /dev/null +++ b/bushes/textures/old & unused/BushBranches1.png diff --git a/bushes/textures/old & unused/BushBranches1sm.png b/bushes/textures/old & unused/BushBranches1sm.pngBinary files differ new file mode 100644 index 0000000..5574f38 --- /dev/null +++ b/bushes/textures/old & unused/BushBranches1sm.png diff --git a/bushes/textures/old & unused/BushBranches1sm2.png b/bushes/textures/old & unused/BushBranches1sm2.pngBinary files differ new file mode 100644 index 0000000..6ffd2f3 --- /dev/null +++ b/bushes/textures/old & unused/BushBranches1sm2.png diff --git a/bushes/textures/old & unused/BushBranches1sm3.png b/bushes/textures/old & unused/BushBranches1sm3.pngBinary files differ new file mode 100644 index 0000000..5bb9bf5 --- /dev/null +++ b/bushes/textures/old & unused/BushBranches1sm3.png diff --git a/bushes/textures/old & unused/BushBranches1sm4.png b/bushes/textures/old & unused/BushBranches1sm4.pngBinary files differ new file mode 100644 index 0000000..b204fef --- /dev/null +++ b/bushes/textures/old & unused/BushBranches1sm4.png diff --git a/bushes/textures/old & unused/BushBranchesCenter.png b/bushes/textures/old & unused/BushBranchesCenter.pngBinary files differ new file mode 100644 index 0000000..0c9b5af --- /dev/null +++ b/bushes/textures/old & unused/BushBranchesCenter.png diff --git a/bushes/textures/old & unused/BushBranchesSide1.png b/bushes/textures/old & unused/BushBranchesSide1.pngBinary files differ new file mode 100644 index 0000000..ca95dd3 --- /dev/null +++ b/bushes/textures/old & unused/BushBranchesSide1.png diff --git a/bushes/textures/old & unused/BushBranchesSide2.png b/bushes/textures/old & unused/BushBranchesSide2.pngBinary files differ new file mode 100644 index 0000000..d62499e --- /dev/null +++ b/bushes/textures/old & unused/BushBranchesSide2.png diff --git a/bushes/textures/old & unused/blank.png b/bushes/textures/old & unused/blank.pngBinary files differ new file mode 100644 index 0000000..ed495a8 --- /dev/null +++ b/bushes/textures/old & unused/blank.png diff --git a/bushes/textures/old & unused/moretrees_pine_leaves3.png b/bushes/textures/old & unused/moretrees_pine_leaves3.pngBinary files differ new file mode 100644 index 0000000..57d077d --- /dev/null +++ b/bushes/textures/old & unused/moretrees_pine_leaves3.png | 
