diff options
21 files changed, 56 insertions, 24 deletions
diff --git a/default_settings.txt b/default_settings.txt index 6b0a1c8..5b82a4e 100644 --- a/default_settings.txt +++ b/default_settings.txt @@ -26,6 +26,12 @@ moretrees.spawn_saplings		= true  moretrees.enable_stairsplus		= true +-- Set this to false if you don't like the plantlike drawtype for leaves +-- (this is done to improve peoples' framerates without resorting to making  +-- leaf nodes opaque).  Affects default leaves and default jungle leaves also. + +moretrees.plantlike_leaves		= true +  -- Set this to true to enable leaf decay of all trees except the default ones.  moretrees.enable_leafdecay		= true @@ -39,7 +39,7 @@ if io.open(worldpath.."/moretrees_settings.txt","r") == nil then  		end  		io.write(block)  	end - +	io.close()  else  	dofile(worldpath.."/moretrees_settings.txt")  end @@ -63,6 +63,17 @@ else  	moretrees.expect_infinite_stacks = true  end +-- node clone, for redefining stuff + +function moretrees:clone_node(name) +	node2={} +	node=minetest.registered_nodes[name] +	for k,v in pairs(node) do +		node2[k]=v +	end +	return node2 +end +  -- tables, load other files  moretrees.cutting_tools = { diff --git a/leafdecay.lua b/leafdecay.lua index f77f8dd..3bce131 100644 --- a/leafdecay.lua +++ b/leafdecay.lua @@ -1,14 +1,5 @@  -- leaf decay -function clone_node(name) -	node2={} -	node=minetest.registered_nodes[name] -	for k,v in pairs(node) do -		node2[k]=v -	end -	return node2 -end -  -- this function is based on the default leafdecay code  local process_drops = function(pos, name)  	local drops = minetest.get_node_drops(name) @@ -85,10 +76,6 @@ end  if moretrees.enable_default_leafdecay then -	new_default_leaves = clone_node("default:leaves") -	new_default_leaves.groups = {snappy=3, flammable=2, leaves=1} -	minetest.register_node(":default:leaves", new_default_leaves) -  	minetest.register_abm({  		nodenames = "default:leaves",  		interval = moretrees.default_leafdecay_delay, @@ -105,10 +92,6 @@ end  if moretrees.enable_default_jungle_leafdecay then -	new_default_jungle_leaves = clone_node("default:jungleleaves") -	new_default_jungle_leaves.groups = {snappy=3, flammable=2, leaves=1} -	minetest.register_node(":default:jungleleaves", new_default_jungle_leaves) -  	minetest.register_abm({  		nodenames = "default:jungleleaves",  		interval = moretrees.default_jungle_leafdecay_delay, diff --git a/node_defs.lua b/node_defs.lua index e0b231c..6d586e0 100644 --- a/node_defs.lua +++ b/node_defs.lua @@ -19,6 +19,35 @@ local dirs1 = { 21, 20, 23, 22, 21 }  local dirs2 = { 12, 9, 18, 7, 12 }  local dirs3 = { 14, 11, 16, 5, 14 } +moretrees_new_leaves_drawtype = "allfaces_optional" +moretrees_new_leaves_visual_scale = 1.0 +moretrees_new_leaves_extension = ".png" + +if moretrees.plantlike_leaves then +	moretrees_new_leaves_drawtype = "plantlike" +	moretrees_new_leaves_visual_scale = 1.189 +	moretrees_new_leaves_extension = "_plantlike.png" +end + +new_default_leaves = moretrees:clone_node("default:leaves") +	if moretrees.enable_default_leafdecay then +		new_default_leaves.groups = {snappy=3, flammable=2, leaves=1} +	end +	new_default_leaves.drawtype = moretrees_new_leaves_drawtype +	new_default_leaves.visual_scale = moretrees_new_leaves_visual_scale +	new_default_leaves.tiles = {"default_leaves"..moretrees_new_leaves_extension} +	minetest.register_node(":default:leaves", new_default_leaves) + +new_default_jungle_leaves = clone_node("default:jungleleaves") +	if moretrees.enable_default_jungle_leafdecay then +	new_default_jungle_leaves.groups = {snappy=3, flammable=2, leaves=1} +	end +	new_default_jungle_leaves = moretrees:clone_node("default:jungleleaves") +	new_default_jungle_leaves.drawtype = moretrees_new_leaves_drawtype +	new_default_jungle_leaves.visual_scale = moretrees_new_leaves_visual_scale +	new_default_jungle_leaves.tiles = {"default_jungleleaves"..moretrees_new_leaves_extension} +	minetest.register_node(":default:jungleleaves", new_default_jungle_leaves) +  for i in ipairs(moretrees.treelist) do  	local treename = moretrees.treelist[i][1]  	local treedesc = moretrees.treelist[i][2] @@ -103,8 +132,9 @@ for i in ipairs(moretrees.treelist) do  		minetest.register_node("moretrees:"..treename.."_leaves", {  			description = treedesc.." Leaves", -			drawtype = "allfaces_optional", -			tiles = { "moretrees_"..treename.."_leaves.png" }, +			drawtype = moretrees_new_leaves_drawtype, +			visual_scale = moretrees_new_leaves_visual_scale, +			tiles = { "moretrees_"..treename.."_leaves"..moretrees_new_leaves_extension },  			paramtype = "light",  			groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1},  			sounds = default.node_sound_leaves_defaults(), @@ -308,8 +338,9 @@ for color = 1, 3 do  	local leave_name = "moretrees:jungletree_leaves_"..jungleleaves[color]  	minetest.register_node(leave_name, {  		description = "Jungle Tree Leaves ("..jungleleavesnames[color]..")", -		drawtype = "allfaces_optional", -		tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..".png"}, +		drawtype = moretrees_new_leaves_drawtype, +		visual_scale = moretrees_new_leaves_visual_scale, +		tiles = {"moretrees_jungletree_leaves_"..jungleleaves[color]..moretrees_new_leaves_extension},  		paramtype = "light",  		groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1},  		drop = { @@ -326,9 +357,10 @@ end  -- Extra needles for firs  minetest.register_node("moretrees:fir_leaves_bright", { -	drawtype = "allfaces_optional", +	drawtype = moretrees_new_leaves_drawtype, +	visual_scale = moretrees_new_leaves_visual_scale,  	description = "Douglas Fir Leaves (Bright)", -	tile_images = { "moretrees_fir_leaves_bright.png" }, +	tile_images = { "moretrees_fir_leaves_bright"..moretrees_new_leaves_extension },  	paramtype = "light",  	groups = {snappy=3, flammable=2, leaves=1, moretrees_leaves=1 }, diff --git a/textures/default_jungleleaves_plantlike.png b/textures/default_jungleleaves_plantlike.png Binary files differnew file mode 100644 index 0000000..d7cac73 --- /dev/null +++ b/textures/default_jungleleaves_plantlike.png diff --git a/textures/default_leaves_plantlike.png b/textures/default_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..6786a03 --- /dev/null +++ b/textures/default_leaves_plantlike.png diff --git a/textures/moretrees_apple_tree_leaves_plantlike.png b/textures/moretrees_apple_tree_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..f333fd0 --- /dev/null +++ b/textures/moretrees_apple_tree_leaves_plantlike.png diff --git a/textures/moretrees_beech_leaves_plantlike.png b/textures/moretrees_beech_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..6786a03 --- /dev/null +++ b/textures/moretrees_beech_leaves_plantlike.png diff --git a/textures/moretrees_birch_leaves_plantlike.png b/textures/moretrees_birch_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..5c85e3d --- /dev/null +++ b/textures/moretrees_birch_leaves_plantlike.png diff --git a/textures/moretrees_fir_leaves_bright_plantlike.png b/textures/moretrees_fir_leaves_bright_plantlike.png Binary files differnew file mode 100644 index 0000000..96bab2f --- /dev/null +++ b/textures/moretrees_fir_leaves_bright_plantlike.png diff --git a/textures/moretrees_fir_leaves_plantlike.png b/textures/moretrees_fir_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..05c93ee --- /dev/null +++ b/textures/moretrees_fir_leaves_plantlike.png diff --git a/textures/moretrees_jungletree_leaves_green_plantlike.png b/textures/moretrees_jungletree_leaves_green_plantlike.png Binary files differnew file mode 100644 index 0000000..89da8c6 --- /dev/null +++ b/textures/moretrees_jungletree_leaves_green_plantlike.png diff --git a/textures/moretrees_jungletree_leaves_red_plantlike.png b/textures/moretrees_jungletree_leaves_red_plantlike.png Binary files differnew file mode 100644 index 0000000..d13ce69 --- /dev/null +++ b/textures/moretrees_jungletree_leaves_red_plantlike.png diff --git a/textures/moretrees_jungletree_leaves_yellow_plantlike.png b/textures/moretrees_jungletree_leaves_yellow_plantlike.png Binary files differnew file mode 100644 index 0000000..06cf566 --- /dev/null +++ b/textures/moretrees_jungletree_leaves_yellow_plantlike.png diff --git a/textures/moretrees_oak_leaves_plantlike.png b/textures/moretrees_oak_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..e860166 --- /dev/null +++ b/textures/moretrees_oak_leaves_plantlike.png diff --git a/textures/moretrees_palm_leaves_plantlike.png b/textures/moretrees_palm_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..dd410d1 --- /dev/null +++ b/textures/moretrees_palm_leaves_plantlike.png diff --git a/textures/moretrees_pine_leaves_plantlike.png b/textures/moretrees_pine_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..c0334fb --- /dev/null +++ b/textures/moretrees_pine_leaves_plantlike.png diff --git a/textures/moretrees_rubber_tree_leaves_plantlike.png b/textures/moretrees_rubber_tree_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..0ac8a8b --- /dev/null +++ b/textures/moretrees_rubber_tree_leaves_plantlike.png diff --git a/textures/moretrees_sequoia_leaves_plantlike.png b/textures/moretrees_sequoia_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..88b292c --- /dev/null +++ b/textures/moretrees_sequoia_leaves_plantlike.png diff --git a/textures/moretrees_spruce_leaves_plantlike.png b/textures/moretrees_spruce_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..05c93ee --- /dev/null +++ b/textures/moretrees_spruce_leaves_plantlike.png diff --git a/textures/moretrees_willow_leaves_plantlike.png b/textures/moretrees_willow_leaves_plantlike.png Binary files differnew file mode 100644 index 0000000..49ad834 --- /dev/null +++ b/textures/moretrees_willow_leaves_plantlike.png  | 
