diff options
| author | tenplus1 <kinsellaja@yahoo.com> | 2015-04-11 10:26:30 +0100 | 
|---|---|---|
| committer | tenplus1 <kinsellaja@yahoo.com> | 2015-04-11 10:26:30 +0100 | 
| commit | 258831a11254f9daaad4c6f6775a68649e6ee98d (patch) | |
| tree | 89a74a64f48f68423854f6c0e7f4958935b27642 /water.lua | |
| parent | ec90718c5831da00bb3cac1613724dcd6330c719 (diff) | |
tweaked water abm's
Diffstat (limited to 'water.lua')
| -rw-r--r-- | water.lua | 53 | 
1 files changed, 9 insertions, 44 deletions
| @@ -21,20 +21,12 @@ minetest.register_node("ethereal:snowbrick", {  	description = "Snow Brick",  	tiles = {"brick_snow.png"},  	paramtype = "light", ---	leveled = 7, -	--drawtype = "nodebox",  	freezemelt = "default:water_source",  	groups = {crumbly=3, melts=1},  	sounds = default.node_sound_dirt_defaults({  		footstep = {name="default_snow_footstep", gain=0.25},  		dug = {name="default_snow_footstep", gain=0.75},  	}), -	on_construct = function(pos) -		pos.y = pos.y - 1 -		if minetest.get_node(pos).name == "default:dirt_with_grass" then -			minetest.set_node(pos, {name="default:dirt_with_snow"}) -		end -	end,  })  minetest.register_craft({ @@ -65,7 +57,6 @@ minetest.register_abm({  	action = function(pos, node)  		local pos0 = {x=pos.x-1,y=pos.y-1,z=pos.z-1}  		local pos1 = {x=pos.x+1,y=pos.y+1,z=pos.z+1} -  		local water = minetest.find_nodes_in_area(pos0, pos1, "default:water_source")  		if water then  			minetest.set_node(water[1], {name="default:ice"}) @@ -76,19 +67,14 @@ minetest.register_abm({  -- If Heat Source near Ice or Snow then melt  minetest.register_abm({  	nodenames = {"default:ice", "default:snowblock", "default:snow", "default:dirt_with_snow", "ethereal:snowbrick", "ethereal:icebrick"}, -	--nodenames = {"group:melts", "default:dirt_with_snow"}, -	--neighbors = {"group:hot"},  	neighbors = {"fire:basic_fire", "default:lava_source", "default:lava_flowing", "default:furnace_active", "default:torch"}, -	interval = 1, -- 10 +	interval = 5,  	chance = 2,  	action = function(pos, node, active_object_count, active_object_count_wider) - -		--print ("NODE:", string.split(node.name, ":")[1]) -  		if node.name == "default:ice" or node.name == "default:snowblock"   		or node.name == "ethereal:icebrick" or node.name == "ethereal:snowbrick" then  			minetest.add_node(pos,{name="default:water_source"}) -		elseif node.name == "default:snow" then -- or string.split(node.name, ":")[1]then +		elseif node.name == "default:snow" then  			minetest.add_node(pos,{name="default:water_flowing"})  		elseif node.name == "default:dirt_with_snow" then  			minetest.add_node(pos,{name="default:dirt_with_grass"}) @@ -107,41 +93,20 @@ minetest.register_abm({  		minetest.add_node(pos,{name="default:dirt"})  	end,  }) ---[[ --- If water next to mushroom pore then remove water -minetest.register_abm({ -	nodenames = {"ethereal:mushroom_pore"}, -	neighbors = {"group:water"}, -	interval = 2, -	chance = 1, -	action = function(pos, node) -		local pos0 = {x=pos.x-1,y=pos.y-1,z=pos.z-1} -		local pos1 = {x=pos.x+1,y=pos.y+1,z=pos.z+1} -		local water = minetest.find_nodes_in_area(pos0, pos1, "group:water") -		if water then -			for n = 1, #water do -				minetest.set_node(water[n], {name="air"}) -			end -		end -	end, -}) -]] ---[[ --- If torch next to water then drop torch +-- If torch touching water then drop as item  minetest.register_abm({  	nodenames = {"default:torch"}, -	neighbors = {"default:water_source", "default:water_flowing"}, -	interval = 1, +	neighbors = {"group:water"}, +	interval = 5,  	chance = 1, -  	action = function(pos, node) -		local pos0 = {x=pos.x-1,y=pos.y,z=pos.z-1} -		local pos1 = {x=pos.x+1,y=pos.y+1,z=pos.z+1} -		if #minetest.find_nodes_in_area(pos0, pos1, {"default:water_source", "default:water_flowing"}) > 0 then +		local num = #minetest.find_nodes_in_area({x=pos.x-1, y=pos.y, z=pos.z}, {x=pos.x+1, y=pos.y, z=pos.z}, {"group:water"}) +		num = num + #minetest.find_nodes_in_area({x=pos.x, y=pos.y, z=pos.z-1}, {x=pos.x, y=pos.y, z=pos.z-1}, {"group:water"}) +		num = num + #minetest.find_nodes_in_area({x=pos.x, y=pos.y+1, z=pos.z}, {x=pos.x, y=pos.y+1, z=pos.z}, {"group:water"}) +		if num > 0 then  			minetest.set_node(pos, {name="default:water_flowing"})  			minetest.add_item(pos, {name = "default:torch"})  		end  	end,  }) -]] | 
