forked from nalc/nalc_game
		
	Saplings: Reduce grow time to ABM equivalent
Previous times were chosen using statistical maths, but reports suggested this was too long. I tested by timing an ABM acting on 100 nodes, with interval and chance equal to the old sapling ABM. 50 at 4m59s. 99 at 24m58s. 100 at 26m58s. So choose a grow time between 5 and 25 min for tree and bush saplings. If 'can grow' is false at grow time the timer is reset to 5 min.
This commit is contained in:
		| @@ -608,7 +608,7 @@ minetest.register_node("default:sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(2400,4800)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -742,7 +742,7 @@ minetest.register_node("default:junglesapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(2400,4800)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -821,7 +821,7 @@ minetest.register_node("default:pine_sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(2400,4800)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -901,7 +901,7 @@ minetest.register_node("default:acacia_sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(2400,4800)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -979,7 +979,7 @@ minetest.register_node("default:aspen_sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(2400,4800)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -1362,7 +1362,7 @@ minetest.register_node("default:bush_sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(1200, 2400)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| @@ -1433,7 +1433,7 @@ minetest.register_node("default:acacia_bush_sapling", { | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
|  | ||||
| 	on_construct = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(1200, 2400)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end, | ||||
|  | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
|   | ||||
| @@ -31,12 +31,12 @@ local function is_snow_nearby(pos) | ||||
| end | ||||
|  | ||||
|  | ||||
| -- Sapling ABM | ||||
| -- Grow sapling | ||||
|  | ||||
| function default.grow_sapling(pos) | ||||
| 	if not default.can_grow(pos) then | ||||
| 		-- try a bit later again | ||||
| 		minetest.get_node_timer(pos):start(math.random(240, 600)) | ||||
| 		-- try again 5 min later | ||||
| 		minetest.get_node_timer(pos):start(300) | ||||
| 		return | ||||
| 	end | ||||
|  | ||||
| @@ -94,7 +94,7 @@ minetest.register_lbm({ | ||||
| 			"default:pine_sapling", "default:acacia_sapling", | ||||
| 			"default:aspen_sapling"}, | ||||
| 	action = function(pos) | ||||
| 		minetest.get_node_timer(pos):start(math.random(1200, 2400)) | ||||
| 		minetest.get_node_timer(pos):start(math.random(300, 1500)) | ||||
| 	end | ||||
| }) | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user