diff options
| -rw-r--r-- | init.lua | 13 | ||||
| -rw-r--r-- | leafdecay.lua | 18 | ||||
| -rw-r--r-- | node_defs.lua | 85 | ||||
| -rw-r--r-- | settings.lua | 2 | ||||
| -rw-r--r-- | tree_models.lua | 4 | 
5 files changed, 98 insertions, 24 deletions
| @@ -1,4 +1,4 @@ --- More trees!  2013-02-11 +-- More trees!  2013-04-07  --  -- This mod adds more types of trees to the game  -- @@ -18,18 +18,21 @@  moretrees = {} --- These first two dofile() calls must precede any others, and must remain in --- this order, otherwise variables and node names will get skipped. -  dofile(minetest.get_modpath("moretrees").."/settings.lua")  dofile(minetest.get_modpath("moretrees").."/node_defs.lua") -  dofile(minetest.get_modpath("moretrees").."/tree_models.lua")  dofile(minetest.get_modpath("moretrees").."/biome_defs.lua")  dofile(minetest.get_modpath("moretrees").."/crafts.lua")  dofile(minetest.get_modpath("moretrees").."/leafdecay.lua")  dofile(minetest.get_modpath("moretrees").."/saplings.lua") +if moretrees.enable_replace_default_trees then +	minetest.register_alias("mapgen_tree",   "air") +	minetest.register_alias("mapgen_leaves", "air") +	minetest.register_alias("mapgen_apple",  "air") +	plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model) +end +  -- tree spawning setup  if moretrees.enable_apple_tree then diff --git a/leafdecay.lua b/leafdecay.lua index 174eb34..7c75f11 100644 --- a/leafdecay.lua +++ b/leafdecay.lua @@ -11,7 +11,7 @@ if moretrees.enable_leafdecay then  				action = function(pos, node, active_object_count, active_object_count_wider)  					if not minetest.env:find_node_near(pos, moretrees.leafdecay_radius, "moretrees:"..treename.."_trunk") then  						minetest.env:remove_node(pos) -						minetest.env:dig_node(pos) +						nodeupdate(pos)  					end  				end  			}) @@ -25,7 +25,7 @@ if moretrees.enable_leafdecay then  		action = function(pos, node, active_object_count, active_object_count_wider)  			if not minetest.env:find_node_near(pos, moretrees.leafdecay_radius, {"default:jungletree", "moretrees:jungletree_trunk"}) then  				minetest.env:remove_node(pos) -				minetest.env:dig_node(pos) +				nodeupdate(pos)  			end  		end  	}) @@ -37,7 +37,7 @@ if moretrees.enable_leafdecay then  		action = function(pos, node, active_object_count, active_object_count_wider)  			if not minetest.env:find_node_near(pos, moretrees.leafdecay_radius, "moretrees:fir_trunk") then  				minetest.env:remove_node(pos) -				minetest.env:dig_node(pos) +				nodeupdate(pos)  			end  		end  	}) @@ -49,19 +49,13 @@ if moretrees.enable_leafdecay then  		action = function(pos, node, active_object_count, active_object_count_wider)  			if not minetest.env:find_node_near(pos, moretrees.palm_leafdecay_radius, "moretrees:palm_trunk") then  				minetest.env:remove_node(pos) -				minetest.env:dig_node(pos) +				nodeupdate(pos)  			end  		end  	})  end -if moretrees.enable_replace_default_trees then -	minetest.register_alias("mapgen_tree", "air") -	minetest.register_alias("mapgen_leaves", "air") -	minetest.register_alias("mapgen_apple", "air") -	plantslib:register_generate_plant(moretrees.beech_biome, moretrees.beech_model) - -elseif moretrees.enable_default_leafdecay then +if moretrees.enable_default_leafdecay then  	minetest.register_abm({  		nodenames = "default:leaves",  		interval = moretrees.default_leafdecay_delay, @@ -69,7 +63,7 @@ elseif moretrees.enable_default_leafdecay then  		action = function(pos, node, active_object_count, active_object_count_wider)  			if not minetest.env:find_node_near(pos, moretrees.default_leafdecay_radius, {"default:tree"}) then  				minetest.env:remove_node(pos) -				minetest.env:dig_node(pos) +				nodeupdate(pos)  			end  		end  	})	 diff --git a/node_defs.lua b/node_defs.lua index 63bc413..a56795d 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -1,7 +1,6 @@  moretrees.avoidnodes = {}  moretrees.treelist = { -	{"beech",	"Beech Tree"},  	{"apple_tree",	"Apple Tree"},  	{"oak",		"Oak Tree",		"acorn",	"Acorn",	{-0.2, -0.5, -0.2, 0.2, 0, 0.2}, 0.8 },  	{"sequoia",	"Giant Sequoia"}, @@ -201,19 +200,97 @@ if moretrees.enable_redefine_apple then  	})  end +if moretrees.enable_replace_default_trees then + +	minetest.register_node(":default:tree", { +		description = "Beech Trunk", +		tiles = {"moretrees_beech_trunk_top.png", "moretrees_beech_trunk_top.png", "moretrees_beech_trunk.png"}, +		groups = {tree=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, +		sounds = default.node_sound_wood_defaults(), +	}) + +	minetest.register_node(":default:leaves", { +		description = "Beech Leaves", +		drawtype = "allfaces_optional", +		visual_scale = 1.3, +		tiles = {"moretrees_beech_leaves.png"}, +		paramtype = "light", +		groups = {snappy=3, leafdecay=3, flammable=2, leaves=1}, +		drop = { +			max_items = 1, +			items = { +				{ +					-- player will get sapling with 1/20 chance +					items = {'default:sapling'}, +					rarity = 20, +				}, +				{ +					-- player will get leaves only if he get no saplings, +					-- this is because max_items is 1 +					items = {'default:leaves'}, +				} +			} +		}, +		sounds = default.node_sound_leaves_defaults(), +	}) + +	minetest.register_node(":default:wood", { +		description = "Beech Planks", +		tiles = {"moretrees_beech_wood.png"}, +		groups = {choppy=2,oddly_breakable_by_hand=2,flammable=3,wood=1}, +		sounds = default.node_sound_wood_defaults(), +	}) + +	minetest.register_node(":default:sapling", { +		description = "Beech Sapling", +		drawtype = "plantlike", +		visual_scale = 1.0, +		tiles = {"moretrees_beech_sapling.png"}, +		inventory_image = "moretrees_beech_sapling.png", +		wield_image = "moretrees_beech_sapling.png", +		paramtype = "light", +		walkable = false, +		selection_box = { +			type = "fixed", +			fixed = {-0.3, -0.5, -0.3, 0.3, 0.35, 0.3} +		}, +		groups = {snappy=2,dig_immediate=3,flammable=2,attached_node=1}, +		sounds = default.node_sound_defaults(), +	}) +end + +minetest.register_node("moretrees:beech_trunk_sideways", { +	description = "Sideways Beech Trunk", +	tiles = { +		"moretrees_beech_trunk.png^[transformR90", +		"moretrees_beech_trunk.png^[transformR90", +		"moretrees_beech_trunk_top.png", +		"moretrees_beech_trunk_top.png", +		"moretrees_beech_trunk.png^[transformR90", +		"moretrees_beech_trunk.png^[transformR90" +	}, +	is_ground_content = true, +	groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, +	sounds = default.node_sound_wood_defaults(), +	paramtype2 = "facedir", +}) +  table.insert(moretrees.avoidnodes, "default:jungletree")  table.insert(moretrees.avoidnodes, "moretrees:jungletree_trunk")  table.insert(moretrees.avoidnodes, "moretrees:fir_trunk") --- For compatibility with newly-re-introduced default jungles and related nodes. +-- For compatibility with old nodes and recently-changed nodes. + +minetest.register_alias("moretrees:beech_trunk",  "default:tree") +minetest.register_alias("moretrees:beech_leaves", "default:leaves") +minetest.register_alias("moretrees:beech_planks", "default:wood") +minetest.register_alias("moretrees:beech_sapling", "default:sapling")   minetest.register_alias("moretrees:jungletree_trunk", "default:jungletree")  minetest.register_alias("moretrees:jungletree_planks", "default:junglewood")  minetest.register_alias("moretrees:jungletree_sapling", "default:junglesapling")  minetest.register_alias("jungletree:sapling", "default:junglesapling") --- These next ones are for the old jungle trees and conifers mods. -  minetest.register_alias("jungletree:leaves_green", "moretrees:jungletree_leaves_green")  minetest.register_alias("jungletree:leaves_red", "moretrees:jungletree_leaves_red")  minetest.register_alias("jungletree:leaves_yellow", "moretrees:jungletree_leaves_yellow") diff --git a/settings.lua b/settings.lua index 9dfb223..66fefeb 100644 --- a/settings.lua +++ b/settings.lua @@ -44,7 +44,7 @@ moretrees.leafdecay_delay = 2  moretrees.leafdecay_chance = 200  moretrees.leafdecay_radius = 5 -moretrees.palm_leafdecay_radius = 8 +moretrees.palm_leafdecay_radius = 12  moretrees.default_leafdecay_delay = 3  moretrees.default_leafdecay_chance = 100 diff --git a/tree_models.lua b/tree_models.lua index 01a70f1..76767b5 100644 --- a/tree_models.lua +++ b/tree_models.lua @@ -4,8 +4,8 @@ moretrees.beech_model={  	rules_b="[&&&F[++^Fd][--&d]//d[+^d][--&d]]////[&&&F[++^Fd][--&d]//d[+^d][--&d]]////[&&&F[++^Fd][--&Fd]//d[+^d][--&d]]",  	rules_c="/",  	rules_d="F", -	trunk="moretrees:beech_trunk", -	leaves="moretrees:beech_leaves", +	trunk="default:tree", +	leaves="default:leaves",  	angle=30,  	iterations=2,  	random_level=0, | 
