diff options
| -rw-r--r-- | devices.lua | 53 | ||||
| -rw-r--r-- | flowing_logic.lua | 6 | ||||
| -rw-r--r-- | textures/pipeworks_spigot_bottom2.png | bin | 0 -> 3389 bytes | |||
| -rw-r--r-- | textures/pipeworks_spigot_sides.png | bin | 3232 -> 338 bytes | |||
| -rw-r--r-- | textures/pipeworks_spigot_sides2.png | bin | 0 -> 267 bytes | 
5 files changed, 56 insertions, 3 deletions
| diff --git a/devices.lua b/devices.lua index 9d6a6d8..faa1b86 100644 --- a/devices.lua +++ b/devices.lua @@ -48,6 +48,12 @@ spigot_bottomstub = {  	{ -8/64, -16/64, -3/64, 8/64, -14/64, 3/64 }  } +spigot_stream = {  +	{ -3/64, -48/64, -5/64, 3/64, -16/64, 5/64 }, +	{ -4/64, -48/64, -4/64, 4/64, -16/64, 4/64 }, +	{ -5/64, -48/64, -3/64, 5/64, -16/64, 3/64 } +} +  entry_panel = {  	{ -8/16, -8/16, -1/16, 8/16, 8/16, 1/16 }  } @@ -194,12 +200,18 @@ minetest.register_node("pipeworks:grating", {  	pipe_addbox(spigotboxes, spigot_bottomstub)  	pipe_addbox(spigotboxes, pipe_bendsphere) +	local spigotboxes_pouring = {} +	pipe_addbox(spigotboxes_pouring, spigot_stream) +	pipe_addbox(spigotboxes_pouring, pipe_backstub) +	pipe_addbox(spigotboxes_pouring, spigot_bottomstub) +	pipe_addbox(spigotboxes_pouring, pipe_bendsphere) +  minetest.register_node("pipeworks:spigot", {  	description = "Spigot outlet",  	drawtype = "nodebox",  	tiles = {  		"pipeworks_spigot_sides.png", -		"pipeworks_pipe_end_empty.png", +		"pipeworks_spigot_sides.png",  		"pipeworks_spigot_sides.png",  		"pipeworks_spigot_sides.png",  		"pipeworks_pipe_end_empty.png", @@ -231,6 +243,45 @@ minetest.register_node("pipeworks:spigot", {  	}  }) +minetest.register_node("pipeworks:spigot_pouring", { +	description = "Spigot outlet", +	drawtype = "nodebox", +	tiles = { +		"pipeworks_spigot_sides.png", +		"pipeworks_spigot_sides.png", +		"default_water.png^pipeworks_spigot_sides2.png", +		"default_water.png^pipeworks_spigot_sides2.png", +		"default_water.png^pipeworks_spigot_sides2.png", +		"default_water.png^pipeworks_spigot_sides2.png" +	}, +	paramtype = "light", +	paramtype2 = "facedir", +	groups = {snappy=3, pipe=1}, +	sounds = default.node_sound_wood_defaults(), +	walkable = true, +	pipelike=1, +	on_construct = function(pos) +		local meta = minetest.env:get_meta(pos) +		meta:set_int("pipelike",1) +	end, +	after_place_node = function(pos) +		pipe_scanforobjects(pos) +	end, +	after_dig_node = function(pos) +		pipe_scanforobjects(pos) +	end, +	node_box = { +		type = "fixed", +		fixed = spigotboxes_pouring, +	}, +	selection_box = { +		type = "fixed", +		fixed = { -2/16, -6/16, -2/16, 2/16, 2/16, 8/16 } +	}, +	drop = "pipeworks:spigot", +}) + +  -- sealed pipe entry/exit (decorative horizontal pipe passing through a metal  -- wall, for use in places where walls should look like they're airtight) diff --git a/flowing_logic.lua b/flowing_logic.lua index d58d124..dffdabf 100644 --- a/flowing_logic.lua +++ b/flowing_logic.lua @@ -79,8 +79,10 @@ local spigot_check = function(pos,node)  	local top = minetest.env:get_node(check[node.param2+1]).name  	dbg('found '..top)  	if string.find(top,'_loaded') then +		minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot_pouring'})   		minetest.env:add_node({x=pos.x,y=pos.y-1,z=pos.z},{name='default:water_source'})   	elseif minetest.env:get_node({x=pos.x,y=pos.y-1,z=pos.z}).name == 'default:water_source' then +		minetest.env:add_node({x=pos.x,y=pos.y,z=pos.z},{name='pipeworks:spigot'})   		minetest.env:remove_node({x=pos.x,y=pos.y-1,z=pos.z})  	end  end @@ -100,11 +102,11 @@ minetest.register_abm({  })  minetest.register_abm({ -	nodenames = {'pipeworks:outlet','pipeworks:spigot'}, +	nodenames = {'pipeworks:outlet','pipeworks:spigot','pipeworks:spigot_pouring'},  	interval = 1,  	chance = 1,  	action = function(pos, node, active_object_count, active_object_count_wider)   		if node.name == 'pipeworks:outlet' then update_outlet(pos) -		elseif node.name == 'pipeworks:spigot' then spigot_check(pos,node) end +		elseif node.name == 'pipeworks:spigot' or node.name == 'pipeworks:spigot_pouring' then spigot_check(pos,node) end  	end  }) diff --git a/textures/pipeworks_spigot_bottom2.png b/textures/pipeworks_spigot_bottom2.pngBinary files differ new file mode 100644 index 0000000..3d4435b --- /dev/null +++ b/textures/pipeworks_spigot_bottom2.png diff --git a/textures/pipeworks_spigot_sides.png b/textures/pipeworks_spigot_sides.pngBinary files differ index e41599f..ce7d90a 100644 --- a/textures/pipeworks_spigot_sides.png +++ b/textures/pipeworks_spigot_sides.png diff --git a/textures/pipeworks_spigot_sides2.png b/textures/pipeworks_spigot_sides2.pngBinary files differ new file mode 100644 index 0000000..6533204 --- /dev/null +++ b/textures/pipeworks_spigot_sides2.png | 
