forked from mtcontrib/plantlife_modpack
		
	use swap_node() where possible, for speed
This commit is contained in:
		| @@ -183,14 +183,14 @@ abstract_bushes.grow_bush_node = function(pos,dir, leaf_type) | ||||
|  | ||||
| 	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.swap_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}) | ||||
| 		minetest.swap_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}) | ||||
| 			minetest.swap_node(two_above_right_here, {name="bushes:BushLeaves"..leaf_type}) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
| @@ -229,12 +229,12 @@ abstract_bushes.grow_youngtree_node2 = function(pos, height) | ||||
| 		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" }) | ||||
| 				minetest.swap_node(right_here, {name="bushes:youngtree2_bottom"}) | ||||
| 				minetest.swap_node(above_right_here, {name="bushes:youngtree2_bottom"}) | ||||
| 				minetest.swap_node(two_above_right_here, {name="bushes:bushbranches2"  , param2=2}) | ||||
| 				minetest.swap_node(two_above_right_here_south, {name="bushes:bushbranches2"  , param2=0}) | ||||
| 				minetest.swap_node(three_above_right_here, {name="bushes:BushLeaves1" }) | ||||
| 				minetest.swap_node(three_above_right_here_south, {name="bushes:BushLeaves1" }) | ||||
| 		end | ||||
|  | ||||
| 	end | ||||
|   | ||||
| @@ -47,7 +47,7 @@ plantlife_bushes.after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| 	elseif groupcaps.snappy then | ||||
|  | ||||
| 		-- plant a new bush without fruits | ||||
| 		minetest.set_node(pos, {type = "node", name = "bushes:fruitless_bush"}) | ||||
| 		minetest.swap_node(pos, {type = "node", name = "bushes:fruitless_bush"}) | ||||
| 		local meta = minetest.get_meta(pos) | ||||
| 		meta:set_string('bush_type', bush_name) | ||||
|  | ||||
| @@ -114,7 +114,7 @@ plantlife_bushes.after_place_node = function(pos, placer, itemstack) | ||||
| 		return | ||||
| 	end | ||||
|  | ||||
| 	minetest.set_node(pos, {name = "bushes:fruitless_bush"}) | ||||
| 	minetest.swap_node(pos, {name = "bushes:fruitless_bush"}) | ||||
| 	local meta = minetest.get_meta(pos) | ||||
| 	meta:set_string("bush_type", name_parts[1]) | ||||
| end | ||||
| @@ -137,7 +137,7 @@ minetest.register_abm({ | ||||
| 			local is_soil = minetest.get_item_group(dirt.name, "soil") or minetest.get_item_group(dirt.name, "potting_soil") | ||||
|  | ||||
| 			if is_soil and (dirt.name == "farming:soil_wet" or math.random(1,3) == 1) then | ||||
| 				minetest.set_node( pos, {name = "bushes:" .. bush_name .. "_bush"}) | ||||
| 				minetest.swap_node( pos, {name = "bushes:" .. bush_name .. "_bush"}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|   | ||||
| @@ -38,9 +38,9 @@ minetest.register_on_generated(function(minp, maxp, seed) | ||||
| 						nn = minetest.get_node({x=x,y=ground_y,z=z}).name | ||||
| 						-- If desert sand, add dry shrub | ||||
| 						if nn == "default:dirt_with_grass" then | ||||
| 							minetest.set_node(p,{name="cavestuff:pebble_"..pr:next(1,2), param2=math.random(0,3)}) | ||||
| 							minetest.swap_node(p,{name="cavestuff:pebble_"..pr:next(1,2), param2=math.random(0,3)}) | ||||
| 						elseif nn == "default:desert_sand" then | ||||
| 							minetest.set_node(p,{name="cavestuff:desert_pebble_"..pr:next(1,2), param2=math.random(0,3)}) | ||||
| 							minetest.swap_node(p,{name="cavestuff:desert_pebble_"..pr:next(1,2), param2=math.random(0,3)}) | ||||
| 					    end | ||||
| 					end | ||||
| 				end | ||||
|   | ||||
| @@ -97,7 +97,7 @@ minetest.register_node("cavestuff:stalactite_1",{ | ||||
| 		if minetest.get_node(pt.under).name=="default:stone" | ||||
| 		and minetest.get_node({x=pt.under.x, y=pt.under.y-1, z=pt.under.z}).name=="air" | ||||
| 		and minetest.get_node({x=pt.under.x, y=pt.under.y-2, z=pt.under.z}).name=="air" then | ||||
| 			minetest.set_node({x=pt.under.x, y=pt.under.y-1, z=pt.under.z}, {name="cavestuff:stalactite_"..math.random(1,3)}) | ||||
| 			minetest.swap_node({x=pt.under.x, y=pt.under.y-1, z=pt.under.z}, {name="cavestuff:stalactite_"..math.random(1,3)}) | ||||
| 			if not minetest.setting_getbool("creative_mode") then | ||||
| 				itemstack:take_item() | ||||
| 			end | ||||
|   | ||||
| @@ -86,7 +86,7 @@ local function sickle_on_use(itemstack, user, pointed_thing, uses) | ||||
| 		-- check if flora but no flower | ||||
| 		if minetest.get_item_group(under.name, "flora") == 1 and minetest.get_item_group(under.name, "flower") == 0 then | ||||
| 			-- turn the node into cut grass, wear out item and play sound | ||||
| 			minetest.set_node(pt.under, {name="dryplants:grass"}) | ||||
| 			minetest.swap_node(pt.under, {name="dryplants:grass"}) | ||||
| 		else -- otherwise dig the node | ||||
| 			if not minetest.node_dig(pt.under, under, user) then | ||||
| 				return | ||||
| @@ -102,8 +102,8 @@ local function sickle_on_use(itemstack, user, pointed_thing, uses) | ||||
| 		if minetest.is_protected(above_pos, user:get_player_name()) or above.name ~= "air" then | ||||
| 			return | ||||
| 		end | ||||
| 		minetest.set_node(pt.under, {name="dryplants:grass_short"}) | ||||
| 		minetest.set_node(above_pos, {name="dryplants:grass"}) | ||||
| 		minetest.swap_node(pt.under, {name="dryplants:grass_short"}) | ||||
| 		minetest.swap_node(above_pos, {name="dryplants:grass"}) | ||||
| 		minetest.sound_play("default_dig_crumbly", { | ||||
| 			pos = pt.under, | ||||
| 			gain = 0.5, | ||||
| @@ -148,7 +148,7 @@ minetest.register_abm({ | ||||
| 	interval = HAY_DRYING_TIME, --1200, -- 20 minutes: a minetest-day/night-cycle | ||||
| 	chance = 1, | ||||
| 	action = function(pos) | ||||
| 		minetest.set_node(pos, {name="dryplants:hay"}) | ||||
| 		minetest.swap_node(pos, {name="dryplants:hay"}) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| @@ -196,7 +196,7 @@ minetest.register_abm({ | ||||
| 		-- Only become dirt with grass if no cut grass or hay lies on top | ||||
| 		local above = minetest.get_node({x=pos.x, y=pos.y+1, z=pos.z}) | ||||
| 		if above.name ~= "dryplants:grass" and above.name ~= "dryplants:hay" then | ||||
| 			minetest.set_node(pos, {name="default:dirt_with_grass"}) | ||||
| 			minetest.swap_node(pos, {name="default:dirt_with_grass"}) | ||||
| 		end | ||||
| 	end, | ||||
| }) | ||||
|   | ||||
| @@ -18,9 +18,9 @@ abstract_dryplants.grow_juncus = function(pos) | ||||
| 	if minetest.get_node(right_here).name == "air"  -- instead of check_air = true, | ||||
| 	or minetest.get_node(right_here).name == "default:junglegrass" then | ||||
| 		if juncus_type == 2 then | ||||
| 			minetest.set_node(right_here, {name="dryplants:juncus_02"}) | ||||
| 			minetest.swap_node(right_here, {name="dryplants:juncus_02"}) | ||||
| 		else | ||||
| 			minetest.set_node(right_here, {name="dryplants:juncus"}) | ||||
| 			minetest.swap_node(right_here, {name="dryplants:juncus"}) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
| @@ -57,9 +57,9 @@ minetest.register_node("dryplants:juncus", { | ||||
| 		local juncus_type = math.random(2,3) | ||||
| 		local right_here = {x=pos.x, y=pos.y+1, z=pos.z} | ||||
| 		if juncus_type == 2 then | ||||
| 			minetest.set_node(right_here, {name="dryplants:juncus_02"}) | ||||
| 			minetest.swap_node(right_here, {name="dryplants:juncus_02"}) | ||||
| 		else | ||||
| 			minetest.set_node(right_here, {name="dryplants:juncus"}) | ||||
| 			minetest.swap_node(right_here, {name="dryplants:juncus"}) | ||||
| 		end | ||||
| 		if not minetest.setting_getbool("creative_mode") then | ||||
| 			itemstack:take_item() | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
|  | ||||
| abstract_dryplants.grow_grass_variation = function(pos) | ||||
| 	local right_here = {x=pos.x, y=pos.y, z=pos.z} | ||||
| 	minetest.set_node(right_here, {name="dryplants:grass_short"}) | ||||
| 	minetest.swap_node(right_here, {name="dryplants:grass_short"}) | ||||
| end | ||||
|  | ||||
| biome_lib:register_generate_plant({ | ||||
|   | ||||
| @@ -13,7 +13,7 @@ abstract_dryplants.grow_grass = function(pos) | ||||
| 	local grass_size = math.random(1,5) | ||||
| 	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="default:grass_"..grass_size}) | ||||
| 		minetest.swap_node(right_here, {name="default:grass_"..grass_size}) | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -107,7 +107,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_north.name == roof and node_north.param2 == 3) | ||||
| 				or (node_north.name == corner and node_north.param2 == 3)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner, param2=0}) | ||||
| 					minetest.swap_node(pos, {name=corner, param2=0}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_north.name == roof and node_north.param2 == 1) | ||||
| @@ -115,7 +115,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_east.name == roof and node_east.param2 == 0) | ||||
| 				or (node_east.name == corner and node_east.param2 == 0)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner, param2=1}) | ||||
| 					minetest.swap_node(pos, {name=corner, param2=1}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_east.name == roof and node_east.param2 == 2) | ||||
| @@ -123,7 +123,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_south.name == roof and node_south.param2 == 1) | ||||
| 				or (node_south.name == corner and node_south.param2 == 1)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner, param2=2}) | ||||
| 					minetest.swap_node(pos, {name=corner, param2=2}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_south.name == roof and node_south.param2 == 3) | ||||
| @@ -131,7 +131,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_west.name == roof and node_west.param2 == 2) | ||||
| 				or (node_west.name == corner and node_west.param2 == 2)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner, param2=3}) | ||||
| 					minetest.swap_node(pos, {name=corner, param2=3}) | ||||
| 				end | ||||
| 		-- corner 2 | ||||
| 				if ((node_west.name == roof and node_west.param2 == 2) | ||||
| @@ -139,7 +139,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_north.name == roof and node_north.param2 == 1) | ||||
| 				or (node_north.name == corner_2 and node_north.param2 == 3)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner_2, param2=0}) | ||||
| 					minetest.swap_node(pos, {name=corner_2, param2=0}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_north.name == roof and node_north.param2 == 3) | ||||
| @@ -147,7 +147,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_east.name == roof and node_east.param2 == 2) | ||||
| 				or (node_east.name == corner_2 and node_east.param2 == 0)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner_2, param2=1}) | ||||
| 					minetest.swap_node(pos, {name=corner_2, param2=1}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_east.name == roof and node_east.param2 == 0) | ||||
| @@ -155,7 +155,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_south.name == roof and node_south.param2 == 3) | ||||
| 				or (node_south.name == corner_2 and node_south.param2 == 1)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner_2, param2=2}) | ||||
| 					minetest.swap_node(pos, {name=corner_2, param2=2}) | ||||
| 				end | ||||
|  | ||||
| 				if ((node_south.name == roof and node_south.param2 == 1) | ||||
| @@ -163,7 +163,7 @@ if AUTO_ROOF_CORNER == true then | ||||
| 				and ((node_west.name == roof and node_west.param2 == 0) | ||||
| 				or (node_west.name == corner_2 and node_west.param2 == 2)) | ||||
| 				then | ||||
| 					minetest.set_node(pos, {name=corner_2, param2=3}) | ||||
| 					minetest.swap_node(pos, {name=corner_2, param2=3}) | ||||
| 				end | ||||
|  | ||||
| 			end, | ||||
| @@ -255,7 +255,7 @@ if REED_WILL_DRY == true then | ||||
| 			chance = 1, | ||||
| 			action = function(pos) | ||||
| 				local direction = minetest.get_node(pos).param2 | ||||
| 				minetest.set_node(pos, {name=DRy, param2=direction}) | ||||
| 				minetest.swap_node(pos, {name=DRy, param2=direction}) | ||||
| 			end, | ||||
| 		}) | ||||
| 	end | ||||
|   | ||||
| @@ -34,18 +34,18 @@ abstract_dryplants.grow_reedmace = function(pos) | ||||
| 	if minetest.get_node(pos_01).name == "air"  -- bug fix | ||||
| 	or minetest.get_node(pos_01).name == "dryplants:reedmace_sapling" then | ||||
| 		if minetest.get_node(pos_02).name ~= "air" then | ||||
| 			minetest.set_node(pos_01, {name="dryplants:reedmace_top"}) | ||||
| 			minetest.swap_node(pos_01, {name="dryplants:reedmace_top"}) | ||||
| 		elseif minetest.get_node(pos_03).name ~= "air" then | ||||
| 			minetest.set_node(pos_01, {name="dryplants:reedmace_height_2"}) | ||||
| 			minetest.swap_node(pos_01, {name="dryplants:reedmace_height_2"}) | ||||
| 		elseif size == 1 then | ||||
| 			minetest.set_node(pos_01, {name="dryplants:reedmace_top"}) | ||||
| 			minetest.swap_node(pos_01, {name="dryplants:reedmace_top"}) | ||||
| 		elseif size == 2 then | ||||
| 			minetest.set_node(pos_01, {name="dryplants:reedmace_height_2"}) | ||||
| 			minetest.swap_node(pos_01, {name="dryplants:reedmace_height_2"}) | ||||
| 		elseif size == 3 then | ||||
| 			if spikes == 1 then | ||||
| 				minetest.set_node(pos_01, {name="dryplants:reedmace_height_3_spikes"}) | ||||
| 				minetest.swap_node(pos_01, {name="dryplants:reedmace_height_3_spikes"}) | ||||
| 			else | ||||
| 				minetest.set_node(pos_01, {name="dryplants:reedmace_height_3"}) | ||||
| 				minetest.swap_node(pos_01, {name="dryplants:reedmace_height_3"}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| @@ -61,18 +61,18 @@ abstract_dryplants.grow_reedmace_water = function(pos) | ||||
| 	minetest.add_entity(pos_01, "dryplants:reedmace_water_entity") | ||||
| 	if minetest.get_node(pos_02).name == "air" then -- bug fix | ||||
| 		if minetest.get_node(pos_03).name ~= "air" then | ||||
| 			minetest.set_node(pos_02, {name="dryplants:reedmace_top"}) | ||||
| 			minetest.swap_node(pos_02, {name="dryplants:reedmace_top"}) | ||||
| 		elseif minetest.get_node(pos_04).name ~= "air" then | ||||
| 			minetest.set_node(pos_02, {name="dryplants:reedmace_height_2"}) | ||||
| 			minetest.swap_node(pos_02, {name="dryplants:reedmace_height_2"}) | ||||
| 		elseif size == 1 then | ||||
| 			minetest.set_node(pos_02, {name="dryplants:reedmace_top"}) | ||||
| 			minetest.swap_node(pos_02, {name="dryplants:reedmace_top"}) | ||||
| 		elseif size == 2 then | ||||
| 			minetest.set_node(pos_02, {name="dryplants:reedmace_height_2"}) | ||||
| 			minetest.swap_node(pos_02, {name="dryplants:reedmace_height_2"}) | ||||
| 		elseif size == 3 then | ||||
| 			if spikes == 1 then | ||||
| 				minetest.set_node(pos_02, {name="dryplants:reedmace_height_3_spikes"}) | ||||
| 				minetest.swap_node(pos_02, {name="dryplants:reedmace_height_3_spikes"}) | ||||
| 			else | ||||
| 				minetest.set_node(pos_02, {name="dryplants:reedmace_height_3"}) | ||||
| 				minetest.swap_node(pos_02, {name="dryplants:reedmace_height_3"}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| @@ -286,7 +286,7 @@ minetest.register_abm({ | ||||
| 			if minetest.get_node({x = pos.x, y = pos.y + 1, z = pos.z}).name == "air" then | ||||
| 				abstract_dryplants.grow_reedmace_water({x = pos.x, y = pos.y - 1, z = pos.z}) | ||||
| 			end | ||||
| 			minetest.set_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:water_source"}) | ||||
| 			minetest.swap_node({x=pos.x, y=pos.y, z=pos.z}, {name="default:water_source"}) | ||||
| 		else | ||||
| 			abstract_dryplants.grow_reedmace({x = pos.x, y = pos.y - 1, z = pos.z}) | ||||
| 		end | ||||
|   | ||||
| @@ -69,11 +69,11 @@ abstract_ferns.grow_giant_tree_fern = function(pos) | ||||
| 			brk = true | ||||
| 			break | ||||
| 		end | ||||
| 		minetest.set_node({x = pos.x, y = pos.y + i, z = pos.z}, {name="ferns:fern_trunk_big"}) | ||||
| 		minetest.swap_node({x = pos.x, y = pos.y + i, z = pos.z}, {name="ferns:fern_trunk_big"}) | ||||
| 	end | ||||
| 	if not brk then | ||||
| 		minetest.set_node({x = pos.x, y = pos.y + size-2, z = pos.z}, {name="ferns:fern_trunk_big_top"}) | ||||
| 		minetest.set_node({x = pos.x, y = pos.y + size-1, z = pos.z}, {name="ferns:tree_fern_leaves_giant"}) | ||||
| 		minetest.swap_node({x = pos.x, y = pos.y + size-2, z = pos.z}, {name="ferns:fern_trunk_big_top"}) | ||||
| 		minetest.swap_node({x = pos.x, y = pos.y + size-1, z = pos.z}, {name="ferns:tree_fern_leaves_giant"}) | ||||
|  | ||||
| 		-- all the checking for air below is to prevent some ugly bugs (incomplete trunks of neighbouring trees), it's a bit slower, but worth the result | ||||
|  | ||||
| @@ -86,7 +86,7 @@ abstract_ferns.grow_giant_tree_fern = function(pos) | ||||
| 			-- add leaves so long as the destination nodes are air | ||||
| 			for j = 1, 3 do | ||||
| 				if minetest.get_node(positions[j]).name == "air" then | ||||
| 					minetest.set_node(positions[j], {name="ferns:tree_fern_leave_big"}) | ||||
| 					minetest.swap_node(positions[j], {name="ferns:tree_fern_leave_big"}) | ||||
| 				else | ||||
| 					endpos = j | ||||
| 					break | ||||
| @@ -94,7 +94,7 @@ abstract_ferns.grow_giant_tree_fern = function(pos) | ||||
| 			end | ||||
| 			-- add the terminating leaf if required and possible | ||||
| 			if endpos == 4 and minetest.get_node(positions[endpos]).name == "air" then | ||||
| 				minetest.set_node(positions[endpos], {name="ferns:tree_fern_leave_big_end", param2=rot}) | ||||
| 				minetest.swap_node(positions[endpos], {name="ferns:tree_fern_leave_big_end", param2=rot}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|   | ||||
| @@ -35,11 +35,11 @@ abstract_ferns.grow_tree_fern = function(pos) | ||||
| 			brk = true | ||||
| 			break | ||||
| 		end | ||||
| 		minetest.set_node({x = pos.x, y = pos.y + i, z = pos.z}, { name = "ferns:fern_trunk" }) | ||||
| 		minetest.swap_node({x = pos.x, y = pos.y + i, z = pos.z}, { name = "ferns:fern_trunk" }) | ||||
| 		i = i + 1 | ||||
| 	end | ||||
| 	if not brk then | ||||
| 		minetest.set_node({x = pos.x, y = pos.y + i - 1, z = pos.z}, { name = crown }) | ||||
| 		minetest.swap_node({x = pos.x, y = pos.y + i - 1, z = pos.z}, { name = crown }) | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -115,10 +115,10 @@ for i in ipairs(lilies_list) do | ||||
| 					elseif waterlily == 8 then | ||||
| 						nodename = "flowers:waterlily_s4" | ||||
| 					end | ||||
| 					minetest.set_node(place_pos, {name = nodename, param2 = math.random(0,3) }) | ||||
| 					minetest.swap_node(place_pos, {name = nodename, param2 = math.random(0,3) }) | ||||
| 				else | ||||
| 					local fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 					minetest.set_node(place_pos, {name = "flowers:waterlily", param2 = fdir}) | ||||
| 					minetest.swap_node(place_pos, {name = "flowers:waterlily", param2 = fdir}) | ||||
| 				end | ||||
|  | ||||
| 				if not biome_lib.expect_infinite_stacks then | ||||
| @@ -207,10 +207,10 @@ for i in ipairs(algae_list) do | ||||
| 					elseif seaweed == 4 then | ||||
| 						nodename = "flowers:seaweed_4" | ||||
| 					end | ||||
| 					minetest.set_node(place_pos, {name = nodename, param2 = math.random(0,3) }) | ||||
| 					minetest.swap_node(place_pos, {name = nodename, param2 = math.random(0,3) }) | ||||
| 				else | ||||
| 					local fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 					minetest.set_node(place_pos, {name = "flowers:seaweed", param2 = fdir}) | ||||
| 					minetest.swap_node(place_pos, {name = "flowers:seaweed", param2 = fdir}) | ||||
| 				end | ||||
|  | ||||
| 				if not biome_lib.expect_infinite_stacks then | ||||
| @@ -294,7 +294,7 @@ flowers_plus.grow_waterlily = function(pos) | ||||
| 		end | ||||
|  | ||||
| 		if chance == num then | ||||
| 			minetest.set_node(right_here, {name="flowers:waterlily"..ext, param2=math.random(0,3)}) | ||||
| 			minetest.swap_node(right_here, {name="flowers:waterlily"..ext, param2=math.random(0,3)}) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
| @@ -318,7 +318,7 @@ biome_lib:register_generate_plant({ | ||||
|  | ||||
| flowers_plus.grow_seaweed = function(pos) | ||||
| 	local right_here = {x=pos.x, y=pos.y+1, z=pos.z} | ||||
| 	minetest.set_node(right_here, {name="along_shore:seaweed_"..math.random(1,4), param2=math.random(1,3)}) | ||||
| 	minetest.swap_node(right_here, {name="along_shore:seaweed_"..math.random(1,4), param2=math.random(1,3)}) | ||||
| end | ||||
|  | ||||
| biome_lib:register_generate_plant({ | ||||
|   | ||||
| @@ -58,7 +58,7 @@ abstract_molehills.place_molehill = function(pos) | ||||
| 	and minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z-1}).name ~= "air" | ||||
| 	and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z+1}).name ~= "air" | ||||
| 	and minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z-1}).name ~= "air" then | ||||
| 		minetest.set_node(right_here, {name="molehills:molehill"}) | ||||
| 		minetest.swap_node(right_here, {name="molehills:molehill"}) | ||||
| 	end | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -9,7 +9,7 @@ local function spawn_apple_under(pos) | ||||
| 		z = pos.z, | ||||
| 	} | ||||
|     if minetest.get_node(below).name == "air" then | ||||
| 		minetest.set_node(below, { name = "default:apple" }) | ||||
| 		minetest.swap_node(below, { name = "default:apple" }) | ||||
|     end | ||||
| end | ||||
|  | ||||
|   | ||||
| @@ -67,7 +67,7 @@ function nature:grow_node(pos, nodename) | ||||
|                 >= nature.minimum_growth_light | ||||
|  | ||||
|         if is_not_young(pos) and light_enough then | ||||
|             minetest.set_node(pos, { name = nodename }) | ||||
|             minetest.swap_node(pos, { name = nodename }) | ||||
|             set_young_node(pos) | ||||
|  | ||||
|             minetest.log("info", nodename .. " has grown at " .. pos.x .. "," | ||||
|   | ||||
| @@ -37,7 +37,7 @@ abstract_trunks.place_twig = function(pos) | ||||
| 	local node_n_w		= minetest.get_node(north_west) | ||||
| --	small twigs | ||||
| 	if twig_size <= 16 then | ||||
| 		minetest.set_node(right_here, {name="trunks:twig_"..math.random(1,4), param2=math.random(0,3)}) | ||||
| 		minetest.swap_node(right_here, {name="trunks:twig_"..math.random(1,4), param2=math.random(0,3)}) | ||||
| 	end | ||||
| --	big twigs | ||||
| 	if Big_Twigs == true then | ||||
| @@ -47,13 +47,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_5"}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_5"}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_n_e.name].buildable_to then | ||||
| 				minetest.set_node(north_east, {name="trunks:twig_7"}) | ||||
| 				minetest.swap_node(north_east, {name="trunks:twig_7"}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_east.name].buildable_to then | ||||
| 				minetest.set_node(east,		  {name="trunks:twig_8"}) | ||||
| 				minetest.swap_node(east,		  {name="trunks:twig_8"}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 18 then | ||||
| @@ -61,13 +61,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_5", param2=1}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_5", param2=1}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_s_e.name].buildable_to then | ||||
| 				minetest.set_node(south_east, {name="trunks:twig_7", param2=1}) | ||||
| 				minetest.swap_node(south_east, {name="trunks:twig_7", param2=1}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_south.name].buildable_to then | ||||
| 				minetest.set_node(south,	  {name="trunks:twig_8", param2=1}) | ||||
| 				minetest.swap_node(south,	  {name="trunks:twig_8", param2=1}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 19 then | ||||
| @@ -75,13 +75,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_5", param2=2}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_5", param2=2}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_s_w.name].buildable_to then | ||||
| 				minetest.set_node(south_west, {name="trunks:twig_7", param2=2}) | ||||
| 				minetest.swap_node(south_west, {name="trunks:twig_7", param2=2}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_west.name].buildable_to then | ||||
| 				minetest.set_node(west,		  {name="trunks:twig_8", param2=2}) | ||||
| 				minetest.swap_node(west,		  {name="trunks:twig_8", param2=2}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 20 then | ||||
| @@ -89,13 +89,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_5", param2=3}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_5", param2=3}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_n_w.name].buildable_to then | ||||
| 				minetest.set_node(north_west, {name="trunks:twig_7", param2=3}) | ||||
| 				minetest.swap_node(north_west, {name="trunks:twig_7", param2=3}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_north.name].buildable_to then | ||||
| 				minetest.set_node(north,	  {name="trunks:twig_8", param2=3}) | ||||
| 				minetest.swap_node(north,	  {name="trunks:twig_8", param2=3}) | ||||
| 			end | ||||
| 		end | ||||
| --	big twig 2 | ||||
| @@ -104,13 +104,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z+1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_9"}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_9"}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_north.name].buildable_to then | ||||
| 				minetest.set_node(north,	  {name="trunks:twig_10"}) | ||||
| 				minetest.swap_node(north,	  {name="trunks:twig_10"}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_n_e.name].buildable_to then | ||||
| 				minetest.set_node(north_east, {name="trunks:twig_11"}) | ||||
| 				minetest.swap_node(north_east, {name="trunks:twig_11"}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 22 then | ||||
| @@ -118,13 +118,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z-1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_9", param2=1}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_9", param2=1}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_east.name].buildable_to then | ||||
| 				minetest.set_node(east,		  {name="trunks:twig_10", param2=1}) | ||||
| 				minetest.swap_node(east,		  {name="trunks:twig_10", param2=1}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_s_e.name].buildable_to then | ||||
| 				minetest.set_node(south_east, {name="trunks:twig_11", param2=1}) | ||||
| 				minetest.swap_node(south_east, {name="trunks:twig_11", param2=1}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 23 then | ||||
| @@ -132,13 +132,13 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z-1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_9", param2=2}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_9", param2=2}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_south.name].buildable_to then | ||||
| 				minetest.set_node(south,	  {name="trunks:twig_10", param2=2}) | ||||
| 				minetest.swap_node(south,	  {name="trunks:twig_10", param2=2}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_s_w.name].buildable_to then | ||||
| 				minetest.set_node(south_west, {name="trunks:twig_11", param2=2}) | ||||
| 				minetest.swap_node(south_west, {name="trunks:twig_11", param2=2}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size == 24 then | ||||
| @@ -146,17 +146,17 @@ abstract_trunks.place_twig = function(pos) | ||||
| 			or minetest.registered_nodes[minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z+1}).name].buildable_to) then | ||||
|  | ||||
| 			if minetest.registered_nodes[node_here.name].buildable_to then | ||||
| 				minetest.set_node(right_here, {name="trunks:twig_9", param2=3}) | ||||
| 				minetest.swap_node(right_here, {name="trunks:twig_9", param2=3}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_west.name].buildable_to then | ||||
| 				minetest.set_node(west,		  {name="trunks:twig_10", param2=3}) | ||||
| 				minetest.swap_node(west,		  {name="trunks:twig_10", param2=3}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_n_w.name].buildable_to then | ||||
| 				minetest.set_node(north_west, {name="trunks:twig_11", param2=3}) | ||||
| 				minetest.swap_node(north_west, {name="trunks:twig_11", param2=3}) | ||||
| 			end | ||||
| 		end | ||||
| 	elseif twig_size <= 25 then | ||||
| 		minetest.set_node(right_here, {name="trunks:twig_"..math.random(12,13), param2=math.random(0,3)}) | ||||
| 		minetest.swap_node(right_here, {name="trunks:twig_"..math.random(12,13), param2=math.random(0,3)}) | ||||
| 	end | ||||
| 	end | ||||
| end | ||||
| @@ -269,70 +269,70 @@ abstract_trunks.place_trunk = function(pos) | ||||
| 				local trunk_type = math.random(1,3) | ||||
| 				if trunk_type == 1 then | ||||
| 					if minetest.get_modpath(MoD) ~= nil then | ||||
| 						minetest.set_node(right_here, {name=MoD..":"..TRuNK}) | ||||
| 						minetest.swap_node(right_here, {name=MoD..":"..TRuNK}) | ||||
| 					else | ||||
| 						minetest.set_node(right_here, {name="default:tree"}) | ||||
| 						minetest.swap_node(right_here, {name="default:tree"}) | ||||
| 					end | ||||
| 				elseif trunk_type == 2 and Horizontal_Trunks == true then | ||||
| 					if minetest.get_modpath(MoD) ~= nil then | ||||
| 						if minetest.registered_nodes[node_north.name].buildable_to then | ||||
| 							minetest.set_node(north, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 							minetest.swap_node(north, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						end | ||||
|  | ||||
| 						if length >= 4 and minetest.registered_nodes[node_north2.name].buildable_to then | ||||
| 							minetest.set_node(north2, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 							minetest.swap_node(north2, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						end | ||||
|  | ||||
| 						minetest.set_node(right_here, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						minetest.swap_node(right_here, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						if minetest.registered_nodes[node_south.name].buildable_to then | ||||
| 							minetest.set_node(south, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 							minetest.swap_node(south, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						end | ||||
| 						if length == 5 and minetest.registered_nodes[node_south2.name].buildable_to then | ||||
| 							minetest.set_node(south2, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 							minetest.swap_node(south2, {name=MoD..":"..TRuNK, param2=4}) | ||||
| 						end | ||||
| 					else | ||||
| 						if minetest.registered_nodes[node_north.name].buildable_to then | ||||
| 							minetest.set_node(north, {name="default:tree", param2=4}) | ||||
| 							minetest.swap_node(north, {name="default:tree", param2=4}) | ||||
| 						end | ||||
| 						if length >= 4 and minetest.registered_nodes[node_north2.name].buildable_to then | ||||
| 							minetest.set_node(north2, {name="default:tree", param2=4}) | ||||
| 							minetest.swap_node(north2, {name="default:tree", param2=4}) | ||||
| 						end | ||||
| 						minetest.set_node(right_here, {name="default:tree", param2=4}) | ||||
| 						minetest.swap_node(right_here, {name="default:tree", param2=4}) | ||||
| 						if minetest.registered_nodes[node_south.name].buildable_to then | ||||
| 							minetest.set_node(south, {name="default:tree", param2=4}) | ||||
| 							minetest.swap_node(south, {name="default:tree", param2=4}) | ||||
| 						end | ||||
| 						if length == 5 and minetest.registered_nodes[node_south2.name].buildable_to then | ||||
| 							minetest.set_node(south2, {name="default:tree", param2=4}) | ||||
| 							minetest.swap_node(south2, {name="default:tree", param2=4}) | ||||
| 						end | ||||
| 					end | ||||
| 				elseif trunk_type == 3 and Horizontal_Trunks == true then | ||||
| 					if minetest.get_modpath(MoD) ~= nil then | ||||
| 						if minetest.registered_nodes[node_west.name].buildable_to then | ||||
| 							minetest.set_node(west, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 							minetest.swap_node(west, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						end | ||||
| 						if length >= 4 and minetest.registered_nodes[node_west2.name].buildable_to then | ||||
| 							minetest.set_node(west2, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 							minetest.swap_node(west2, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						end | ||||
| 						minetest.set_node(right_here, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						minetest.swap_node(right_here, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						if minetest.registered_nodes[node_east.name].buildable_to then | ||||
| 							minetest.set_node(east, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 							minetest.swap_node(east, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						end | ||||
| 						if length == 5 and minetest.registered_nodes[node_east2.name].buildable_to then | ||||
| 							minetest.set_node(east2, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 							minetest.swap_node(east2, {name=MoD..":"..TRuNK, param2=12}) | ||||
| 						end | ||||
| 					else | ||||
| 						if minetest.registered_nodes[node_west.name].buildable_to then | ||||
| 							minetest.set_node(west, {name="default:tree", param2=12}) | ||||
| 							minetest.swap_node(west, {name="default:tree", param2=12}) | ||||
| 						end | ||||
| 						if length >= 4 and minetest.registered_nodes[node_west2.name].buildable_to then | ||||
| 							minetest.set_node(west2, {name="default:tree", param2=12}) | ||||
| 							minetest.swap_node(west2, {name="default:tree", param2=12}) | ||||
| 						end | ||||
| 						minetest.set_node(right_here, {name="default:tree", param2=12}) | ||||
| 						minetest.swap_node(right_here, {name="default:tree", param2=12}) | ||||
| 						if minetest.registered_nodes[node_east.name].buildable_to then | ||||
| 							minetest.set_node(east, {name="default:tree", param2=12}) | ||||
| 							minetest.swap_node(east, {name="default:tree", param2=12}) | ||||
| 						end | ||||
| 						if length == 5 and minetest.registered_nodes[node_east2.name].buildable_to then | ||||
| 							minetest.set_node(east2, {name="default:tree", param2=12}) | ||||
| 							minetest.swap_node(east2, {name="default:tree", param2=12}) | ||||
| 						end | ||||
| 					end | ||||
| 				end | ||||
| @@ -367,9 +367,9 @@ abstract_trunks.grow_moss_on_ground = function(pos) | ||||
| 	local moss_type = math.random(1,21) | ||||
|  | ||||
| 	if moss_type == 1 then | ||||
| 		minetest.set_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3)}) | ||||
| 		minetest.swap_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3)}) | ||||
| 	else | ||||
| 		minetest.set_node(on_ground, {name="trunks:moss", param2=math.random(0,3)}) | ||||
| 		minetest.swap_node(on_ground, {name="trunks:moss", param2=math.random(0,3)}) | ||||
| 	end | ||||
|  | ||||
| end | ||||
| @@ -418,41 +418,41 @@ abstract_trunks.grow_moss_on_trunk = function(pos) | ||||
| 		local moss_type = math.random(1,41) | ||||
| 		if minetest.registered_nodes[node_here.name].buildable_to then -- instead of check_air = true, | ||||
| 			if moss_type == 1 then | ||||
| 				minetest.set_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3) --[[1]]}) | ||||
| 				minetest.swap_node(on_ground, {name="trunks:moss_fungus", param2=math.random(0,3) --[[1]]}) | ||||
| 			elseif moss_type < 22 then | ||||
| 				minetest.set_node(on_ground, {name="trunks:moss", param2=math.random(0,3) --[[1]]}) | ||||
| 				minetest.swap_node(on_ground, {name="trunks:moss", param2=math.random(0,3) --[[1]]}) | ||||
| 			end | ||||
| 		end | ||||
| 		local moss_type = math.random(1,31) -- cliche of more moss at north | ||||
| 		if minetest.registered_nodes[node_north.name].buildable_to then -- instead of check_air = true, | ||||
| 			if moss_type == 1 then | ||||
| 				minetest.set_node(at_side_n, {name="trunks:moss_fungus", param2=math.random(4,7)}) -- 5,4,6,7 | ||||
| 				minetest.swap_node(at_side_n, {name="trunks:moss_fungus", param2=math.random(4,7)}) -- 5,4,6,7 | ||||
| 			elseif moss_type < 22 then | ||||
| 				minetest.set_node(at_side_n, {name="trunks:moss", param2=math.random(4,7)}) | ||||
| 				minetest.swap_node(at_side_n, {name="trunks:moss", param2=math.random(4,7)}) | ||||
| 			end | ||||
| 		end | ||||
| 		local moss_type = math.random(1,41) | ||||
| 		if minetest.registered_nodes[node_east.name].buildable_to then -- instead of check_air = true, | ||||
| 			if moss_type == 1 then | ||||
| 				minetest.set_node(at_side_e, {name="trunks:moss_fungus", param2=math.random(12,15)}) | ||||
| 				minetest.swap_node(at_side_e, {name="trunks:moss_fungus", param2=math.random(12,15)}) | ||||
| 			elseif moss_type < 22 then | ||||
| 				minetest.set_node(at_side_e, {name="trunks:moss", param2=math.random(12,15)}) | ||||
| 				minetest.swap_node(at_side_e, {name="trunks:moss", param2=math.random(12,15)}) | ||||
| 			end | ||||
| 		end | ||||
| 		local moss_type = math.random(1,41) | ||||
| 		if minetest.registered_nodes[node_south.name].buildable_to then -- instead of check_air = true, | ||||
| 			if moss_type == 1 then | ||||
| 				minetest.set_node(at_side_s, {name="trunks:moss_fungus", param2=math.random(8,11)}) | ||||
| 				minetest.swap_node(at_side_s, {name="trunks:moss_fungus", param2=math.random(8,11)}) | ||||
| 			elseif moss_type < 22 then | ||||
| 				minetest.set_node(at_side_s, {name="trunks:moss", param2=math.random(8,11)}) | ||||
| 				minetest.swap_node(at_side_s, {name="trunks:moss", param2=math.random(8,11)}) | ||||
| 			end | ||||
| 		end | ||||
| 		local moss_type = math.random(1,41) | ||||
| 		if minetest.registered_nodes[node_west.name].buildable_to then -- instead of check_air = true, | ||||
| 			if moss_type == 1 then | ||||
| 				minetest.set_node(at_side_w, {name="trunks:moss_fungus", param2=math.random(16,19)}) | ||||
| 				minetest.swap_node(at_side_w, {name="trunks:moss_fungus", param2=math.random(16,19)}) | ||||
| 			elseif moss_type < 22 then | ||||
| 				minetest.set_node(at_side_w, {name="trunks:moss", param2=math.random(16,19)}) | ||||
| 				minetest.swap_node(at_side_w, {name="trunks:moss", param2=math.random(16,19)}) | ||||
| 			end | ||||
| 		end | ||||
| 	--end | ||||
| @@ -520,16 +520,16 @@ abstract_trunks.grow_roots = function(pos) | ||||
| 		and string.find(node_below.name, "dirt") | ||||
| 		and node_here.param2 == 0 then | ||||
| 			if minetest.registered_nodes[node_north.name].buildable_to then | ||||
| 				minetest.set_node(north, {name="trunks:"..TRuNK.."root", param2=2}) | ||||
| 				minetest.swap_node(north, {name="trunks:"..TRuNK.."root", param2=2}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_east.name].buildable_to then | ||||
| 				minetest.set_node(east, {name="trunks:"..TRuNK.."root", param2=3}) | ||||
| 				minetest.swap_node(east, {name="trunks:"..TRuNK.."root", param2=3}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_south.name].buildable_to then | ||||
| 				minetest.set_node(south, {name="trunks:"..TRuNK.."root", param2=0}) | ||||
| 				minetest.swap_node(south, {name="trunks:"..TRuNK.."root", param2=0}) | ||||
| 			end | ||||
| 			if minetest.registered_nodes[node_west.name].buildable_to then | ||||
| 				minetest.set_node(west, {name="trunks:"..TRuNK.."root", param2=1}) | ||||
| 				minetest.swap_node(west, {name="trunks:"..TRuNK.."root", param2=1}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
|   | ||||
| @@ -44,7 +44,7 @@ for i in pairs(NoDe) do | ||||
| 			local pt = pointed_thing | ||||
| 			local direction = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 			if minetest.get_node(pt.above).name=="air" then | ||||
| 				minetest.set_node(pt.above, {name="trunks:twig_"..math.random(1,4), param2=direction}) | ||||
| 				minetest.swap_node(pt.above, {name="trunks:twig_"..math.random(1,4), param2=direction}) | ||||
| 				if not minetest.setting_getbool("creative_mode") then | ||||
| 					itemstack:take_item() | ||||
| 				end | ||||
| @@ -227,7 +227,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_north.name == roof and node_north.param2 == 3) | ||||
| 			or (node_north.name == corner and node_north.param2 == 3)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner, param2=0}) | ||||
| 				minetest.swap_node(pos, {name=corner, param2=0}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_north.name == roof and node_north.param2 == 1) | ||||
| @@ -235,7 +235,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_east.name == roof and node_east.param2 == 0) | ||||
| 			or (node_east.name == corner and node_east.param2 == 0)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner, param2=1}) | ||||
| 				minetest.swap_node(pos, {name=corner, param2=1}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_east.name == roof and node_east.param2 == 2) | ||||
| @@ -243,7 +243,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_south.name == roof and node_south.param2 == 1) | ||||
| 			or (node_south.name == corner and node_south.param2 == 1)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner, param2=2}) | ||||
| 				minetest.swap_node(pos, {name=corner, param2=2}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_south.name == roof and node_south.param2 == 3) | ||||
| @@ -251,7 +251,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_west.name == roof and node_west.param2 == 2) | ||||
| 			or (node_west.name == corner and node_west.param2 == 2)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner, param2=3}) | ||||
| 				minetest.swap_node(pos, {name=corner, param2=3}) | ||||
| 			end | ||||
| 		-- corner 2 | ||||
| 			if ((node_west.name == roof and node_west.param2 == 2) | ||||
| @@ -259,7 +259,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_north.name == roof and node_north.param2 == 1) | ||||
| 			or (node_north.name == corner_2 and node_north.param2 == 3)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner_2, param2=0}) | ||||
| 				minetest.swap_node(pos, {name=corner_2, param2=0}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_north.name == roof and node_north.param2 == 3) | ||||
| @@ -267,7 +267,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_east.name == roof and node_east.param2 == 2) | ||||
| 			or (node_east.name == corner_2 and node_east.param2 == 0)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner_2, param2=1}) | ||||
| 				minetest.swap_node(pos, {name=corner_2, param2=1}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_east.name == roof and node_east.param2 == 0) | ||||
| @@ -275,7 +275,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_south.name == roof and node_south.param2 == 3) | ||||
| 			or (node_south.name == corner_2 and node_south.param2 == 1)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner_2, param2=2}) | ||||
| 				minetest.swap_node(pos, {name=corner_2, param2=2}) | ||||
| 			end | ||||
|  | ||||
| 			if ((node_south.name == roof and node_south.param2 == 1) | ||||
| @@ -283,7 +283,7 @@ if Auto_Roof_Corner == true then | ||||
| 			and ((node_west.name == roof and node_west.param2 == 0) | ||||
| 			or (node_west.name == corner_2 and node_west.param2 == 2)) | ||||
| 			then | ||||
| 				minetest.set_node(pos, {name=corner_2, param2=3}) | ||||
| 				minetest.swap_node(pos, {name=corner_2, param2=3}) | ||||
| 			end | ||||
|  | ||||
| 		end, | ||||
|   | ||||
| @@ -51,8 +51,8 @@ vines.register_vine = function( name, defs, biome ) | ||||
|       local bottom_node = minetest.get_node( bottom ) | ||||
|       if bottom_node.name == "air" then | ||||
|         if not ( math.random( defs.average_length ) == 1 ) then | ||||
|           minetest.set_node( pos, { name = vine_name_middle, param2 = node.param2 } ) | ||||
|           minetest.set_node( bottom, { name = node.name, param2 = node.param2 } ) | ||||
|           minetest.swap_node( pos, { name = vine_name_middle, param2 = node.param2 } ) | ||||
|           minetest.swap_node( bottom, { name = node.name, param2 = node.param2 } ) | ||||
|           local timer = minetest.get_node_timer( bottom_node ) | ||||
|           timer:start( math.random(5, 10) ) | ||||
|         end | ||||
| @@ -83,7 +83,7 @@ vines.register_vine = function( name, defs, biome ) | ||||
|       local bottom = {x=pos.x, y=pos.y-1, z=pos.z} | ||||
|       local bottom_node = minetest.get_node( bottom ) | ||||
|       if minetest.get_item_group( bottom_node.name, "vines") > 0 then | ||||
|         minetest.after( 0, minetest.remove_node, bottom ) | ||||
|         minetest.after( 0, minetest.swap_node, bottom, biome_lib.air ) | ||||
|       end | ||||
|     end, | ||||
|     after_dig_node = function( pos, node, oldmetadata, user ) | ||||
| @@ -112,7 +112,7 @@ vines.register_vine = function( name, defs, biome ) | ||||
|       local pos_max = { x = pos.x +1, y = pos.y + 1, z = pos.z + 1 } | ||||
|       local positions = minetest.find_nodes_in_area( pos_min, pos_max, "group:vines" ) | ||||
|       for index, position in pairs(positions) do | ||||
|         minetest.remove_node( position ) | ||||
|         minetest.swap_node(position, biome_lib.air) | ||||
|       end | ||||
|     end | ||||
|   }) | ||||
|   | ||||
| @@ -25,7 +25,7 @@ minetest.register_node("vines:rope_block", { | ||||
|     local p = {x=pos.x, y=pos.y-1, z=pos.z} | ||||
|     local n = minetest.get_node(p) | ||||
|     while ( n.name == 'vines:rope' or n.name == 'vines:rope_end' ) do | ||||
|       minetest.remove_node(p) | ||||
|       minetest.swap_node(p, biome_lib.air) | ||||
|       p = {x=p.x, y=p.y-1, z=p.z} | ||||
|       n = minetest.get_node(p) | ||||
|     end | ||||
| @@ -76,7 +76,7 @@ minetest.register_node("vines:rope_end", { | ||||
|     local p = {x=pos.x, y=pos.y-1, z=pos.z} | ||||
|     local n = minetest.get_node(p) | ||||
|     if  n.name == "air" then | ||||
|       minetest.set_node(pos, {name="vines:rope"}) | ||||
|       minetest.swap_node(pos, {name="vines:rope"}) | ||||
|       minetest.add_node(p, {name="vines:rope_end"}) | ||||
|     else | ||||
|       local timer = minetest.get_node_timer( pos ) | ||||
|   | ||||
| @@ -50,24 +50,24 @@ abstract_woodsoils.place_soil = function(pos) | ||||
| 			local node_3b = minetest.get_node(radius_3b) | ||||
| 			-- Dirt with Leaves 1 | ||||
| 			if minetest.get_item_group(minetest.get_node(radius_1a).name, "soil") > 0 then | ||||
| 				minetest.set_node(radius_1a, {name="woodsoils:dirt_with_leaves_1"}) | ||||
| 				minetest.swap_node(radius_1a, {name="woodsoils:dirt_with_leaves_1"}) | ||||
| 			end | ||||
| 			if minetest.get_item_group(minetest.get_node(radius_1b).name, "soil") > 0 then | ||||
| 				minetest.set_node(radius_1b, {name="woodsoils:dirt_with_leaves_1"}) | ||||
| 				minetest.swap_node(radius_1b, {name="woodsoils:dirt_with_leaves_1"}) | ||||
| 			end | ||||
| 			-- Grass with Leaves 2 | ||||
| 			if string.find(node_2a.name, "dirt_with_grass") then | ||||
| 				minetest.set_node(radius_2a, {name="woodsoils:grass_with_leaves_2"}) | ||||
| 				minetest.swap_node(radius_2a, {name="woodsoils:grass_with_leaves_2"}) | ||||
| 			end | ||||
| 			if string.find(node_2b.name, "dirt_with_grass") then | ||||
| 				minetest.set_node(radius_2b, {name="woodsoils:grass_with_leaves_2"}) | ||||
| 				minetest.swap_node(radius_2b, {name="woodsoils:grass_with_leaves_2"}) | ||||
| 			end | ||||
| 			-- Grass with Leaves 1 | ||||
| 			if string.find(node_3a.name, "dirt_with_grass") then | ||||
| 				minetest.set_node(radius_3a, {name="woodsoils:grass_with_leaves_1"}) | ||||
| 				minetest.swap_node(radius_3a, {name="woodsoils:grass_with_leaves_1"}) | ||||
| 			end | ||||
| 			if string.find(node_3b.name, "dirt_with_grass") then | ||||
| 				minetest.set_node(radius_3b, {name="woodsoils:grass_with_leaves_1"}) | ||||
| 				minetest.swap_node(radius_3b, {name="woodsoils:grass_with_leaves_1"}) | ||||
| 			end | ||||
| 		end | ||||
| 	end | ||||
| @@ -143,7 +143,7 @@ minetest.register_abm({ | ||||
| 			end | ||||
| 			if height < 4 then | ||||
| 				if minetest.get_node(pos).name == "air" then | ||||
| 					minetest.set_node(pos, {name="default:papyrus"}) | ||||
| 					minetest.swap_node(pos, {name="default:papyrus"}) | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
|   | ||||
| @@ -117,17 +117,17 @@ abstract_youngtrees.grow_youngtree_node = function(pos, height) | ||||
| 	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 == 1 then | ||||
| 				minetest.set_node(right_here, {name="youngtrees:youngtree_top"}) | ||||
| 				minetest.swap_node(right_here, {name="youngtrees:youngtree_top"}) | ||||
| 		end | ||||
| 		if height == 2 then | ||||
| 				minetest.set_node(right_here, {name="youngtrees:youngtree_bottom"}) | ||||
| 				minetest.set_node(above_right_here, {name="youngtrees:youngtree_top"}) | ||||
| 				minetest.swap_node(right_here, {name="youngtrees:youngtree_bottom"}) | ||||
| 				minetest.swap_node(above_right_here, {name="youngtrees:youngtree_top"}) | ||||
| 		end | ||||
| 		if height == 3 then | ||||
| 				local two_above_right_here = {x=pos.x, y=pos.y+3, z=pos.z} | ||||
| 				minetest.set_node(right_here, {name="youngtrees:youngtree_bottom"}) | ||||
| 				minetest.set_node(above_right_here, {name="youngtrees:youngtree_middle"}) | ||||
| 				minetest.set_node(two_above_right_here, {name="youngtrees:youngtree_top"}) | ||||
| 				minetest.swap_node(right_here, {name="youngtrees:youngtree_bottom"}) | ||||
| 				minetest.swap_node(above_right_here, {name="youngtrees:youngtree_middle"}) | ||||
| 				minetest.swap_node(two_above_right_here, {name="youngtrees:youngtree_top"}) | ||||
| 		end | ||||
| 	end | ||||
| end | ||||
|   | ||||
		Reference in New Issue
	
	Block a user