forked from mtcontrib/pipeworks
		
	A few more fixes (spamming the commit log again...)
This commit is contained in:
		| @@ -49,7 +49,6 @@ local function autocraft(inventory, pos) | |||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
|  |  | ||||||
| 	local input = inventory:get_list("input") |  | ||||||
| 	if result.item:is_empty() then return end | 	if result.item:is_empty() then return end | ||||||
| 	result = result.item | 	result = result.item | ||||||
| 	if not inventory:room_for_item("dst", result) then return end | 	if not inventory:room_for_item("dst", result) then return end | ||||||
|   | |||||||
| @@ -115,13 +115,8 @@ local function tube_autoroute(pos) | |||||||
| 	end | 	end | ||||||
| 	local newname = string.sub(nctr.name, 1, -7)..nsurround | 	local newname = string.sub(nctr.name, 1, -7)..nsurround | ||||||
| 	if newname == nctr.name then return end | 	if newname == nctr.name then return end | ||||||
| 	local meta=minetest.get_meta(pos) |  | ||||||
| 	local meta0=meta:to_table() -- XXX: hacky_swap_node |  | ||||||
| 	nctr.name = newname | 	nctr.name = newname | ||||||
| 	minetest.add_node(pos, nctr) | 	minetest.swap_node(pos, nctr) | ||||||
| 	local meta=minetest.get_meta(pos) |  | ||||||
| 	meta:from_table(meta0) |  | ||||||
| 	local nctr = minetest.get_node(pos) |  | ||||||
| end | end | ||||||
|  |  | ||||||
| function pipeworks.scan_for_tube_objects(pos) | function pipeworks.scan_for_tube_objects(pos) | ||||||
|   | |||||||
							
								
								
									
										63
									
								
								compat.lua
									
									
									
									
									
								
							
							
						
						
									
										63
									
								
								compat.lua
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| -- this bit of code modifies the default chests and furnaces to be compatible | -- this bit of code modifies the default chests and furnaces to be compatible | ||||||
| -- with pipeworks. | -- with pipeworks. | ||||||
|  |  | ||||||
| function pipeworks:clone_node(name) | function pipeworks.clone_node(name) | ||||||
| 	local node2 = {} | 	local node2 = {} | ||||||
| 	local node = minetest.registered_nodes[name] | 	local node = minetest.registered_nodes[name] | ||||||
| 	for k, v in pairs(node) do | 	for k, v in pairs(node) do | ||||||
| @@ -10,7 +10,7 @@ function pipeworks:clone_node(name) | |||||||
| 	return node2 | 	return node2 | ||||||
| end | end | ||||||
|  |  | ||||||
| local furnace=pipeworks:clone_node("default:furnace") | local furnace = pipeworks.clone_node("default:furnace") | ||||||
| 	furnace.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" | 	furnace.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" | ||||||
| 	furnace.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | 	furnace.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | ||||||
| 	furnace.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | 	furnace.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | ||||||
| @@ -18,7 +18,8 @@ local furnace=pipeworks:clone_node("default:furnace") | |||||||
| 	-- note we don't redefine entries 1 and 6 (top and front) | 	-- note we don't redefine entries 1 and 6 (top and front) | ||||||
| 	furnace.groups.tubedevice = 1 | 	furnace.groups.tubedevice = 1 | ||||||
| 	furnace.groups.tubedevice_receiver = 1 | 	furnace.groups.tubedevice_receiver = 1 | ||||||
| 	furnace.tube={insert_object = function(pos,node,stack,direction) | 	furnace.tube = { | ||||||
|  | 		insert_object = function(pos, node, stack, direction) | ||||||
| 			local meta = minetest.get_meta(pos) | 			local meta = minetest.get_meta(pos) | ||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			if direction.y == 1 then | 			if direction.y == 1 then | ||||||
| @@ -32,14 +33,13 @@ local furnace=pipeworks:clone_node("default:furnace") | |||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			if direction.y == 1 then | 			if direction.y == 1 then | ||||||
| 				return inv:room_for_item("fuel", stack) | 				return inv:room_for_item("fuel", stack) | ||||||
| 		elseif direction.y==-1 then |  | ||||||
| 			return inv:room_for_item("src",stack) |  | ||||||
| 			else | 			else | ||||||
| 			return 0 | 				return inv:room_for_item("src", stack) | ||||||
| 			end | 			end | ||||||
| 		end, | 		end, | ||||||
| 		input_inventory = "dst", | 		input_inventory = "dst", | ||||||
| 	connect_sides={left=1, right=1, back=1, bottom=1}} | 		connect_sides = {left=1, right=1, back=1, bottom=1, front=1, top=1} | ||||||
|  | 	} | ||||||
| 	furnace.after_place_node = function(pos) | 	furnace.after_place_node = function(pos) | ||||||
| 		pipeworks.scan_for_tube_objects(pos) | 		pipeworks.scan_for_tube_objects(pos) | ||||||
| 	end | 	end | ||||||
| @@ -49,15 +49,16 @@ local furnace=pipeworks:clone_node("default:furnace") | |||||||
|  |  | ||||||
| minetest.register_node(":default:furnace", furnace) | minetest.register_node(":default:furnace", furnace) | ||||||
|  |  | ||||||
| local furnace=pipeworks:clone_node("default:furnace_active") | local furnace_active = pipeworks.clone_node("default:furnace_active") | ||||||
| 	furnace.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" | 	furnace_active.tiles[2] = "default_furnace_bottom.png^pipeworks_tube_connection_stony.png" | ||||||
| 	furnace.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | 	furnace_active.tiles[3] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | ||||||
| 	furnace.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | 	furnace_active.tiles[4] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | ||||||
| 	furnace.tiles[5] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | 	furnace_active.tiles[5] = "default_furnace_side.png^pipeworks_tube_connection_stony.png" | ||||||
| 	-- note we don't redefine entries 1 and 6 (top and front) | 	-- note we don't redefine entries 1 and 6 (top and front) | ||||||
| 	furnace.groups.tubedevice=1 | 	furnace_active.groups.tubedevice = 1 | ||||||
| 	furnace.groups.tubedevice_receiver=1 | 	furnace_active.groups.tubedevice_receiver = 1 | ||||||
| 	furnace.tube={insert_object=function(pos,node,stack,direction) | 	furnace_active.tube = { | ||||||
|  | 		insert_object = function(pos,node,stack,direction) | ||||||
| 			local meta = minetest.get_meta(pos) | 			local meta = minetest.get_meta(pos) | ||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			if direction.y == 1 then | 			if direction.y == 1 then | ||||||
| @@ -71,24 +72,24 @@ local furnace=pipeworks:clone_node("default:furnace_active") | |||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			if direction.y == 1 then | 			if direction.y == 1 then | ||||||
| 				return inv:room_for_item("fuel", stack) | 				return inv:room_for_item("fuel", stack) | ||||||
| 		elseif direction.y==-1 then |  | ||||||
| 			return inv:room_for_item("src",stack) |  | ||||||
| 			else | 			else | ||||||
| 			return 0 | 				return inv:room_for_item("src", stack) | ||||||
| 			end | 			end | ||||||
| 		end, | 		end, | ||||||
| 		input_inventory = "dst", | 		input_inventory = "dst", | ||||||
| 	connect_sides={left=1, right=1, back=1, bottom=1}} | 		connect_sides = {left=1, right=1, back=1, bottom=1, front=1, top=1} | ||||||
| 	furnace.after_place_node= function(pos) | 	} | ||||||
|  | 	furnace_active.after_place_node= function(pos) | ||||||
| 		pipeworks.scan_for_tube_objects(pos) | 		pipeworks.scan_for_tube_objects(pos) | ||||||
| 	end | 	end | ||||||
| 	furnace.after_dig_node = function(pos) | 	furnace_active.after_dig_node = function(pos) | ||||||
| 		pipeworks.scan_for_tube_objects(pos) | 		pipeworks.scan_for_tube_objects(pos) | ||||||
| 	end | 	end | ||||||
| 	minetest.register_node(":default:furnace_active",furnace) |  | ||||||
|  | minetest.register_node(":default:furnace_active", furnace_active) | ||||||
|  |  | ||||||
|  |  | ||||||
| local chest=pipeworks:clone_node("default:chest") | local chest = pipeworks.clone_node("default:chest") | ||||||
| 	chest.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | 	chest.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | ||||||
| 	chest.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | 	chest.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | ||||||
| 	chest.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" | 	chest.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" | ||||||
| @@ -97,7 +98,8 @@ local chest=pipeworks:clone_node("default:chest") | |||||||
| 	-- note we don't redefine entry 6 (front). | 	-- note we don't redefine entry 6 (front). | ||||||
| 	chest.groups.tubedevice = 1 | 	chest.groups.tubedevice = 1 | ||||||
| 	chest.groups.tubedevice_receiver = 1 | 	chest.groups.tubedevice_receiver = 1 | ||||||
| 	chest.tube={insert_object = function(pos,node,stack,direction) | 	chest.tube = { | ||||||
|  | 		insert_object = function(pos, node, stack, direction) | ||||||
| 			local meta = minetest.get_meta(pos) | 			local meta = minetest.get_meta(pos) | ||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			return inv:add_item("main", stack) | 			return inv:add_item("main", stack) | ||||||
| @@ -108,7 +110,8 @@ local chest=pipeworks:clone_node("default:chest") | |||||||
| 			return inv:room_for_item("main", stack) | 			return inv:room_for_item("main", stack) | ||||||
| 		end, | 		end, | ||||||
| 		input_inventory = "main", | 		input_inventory = "main", | ||||||
| 	connect_sides={left=1, right=1, back=1, bottom=1, top=1}} | 		connect_sides = {left=1, right=1, back=1, bottom=1, top=1, front=1} | ||||||
|  | 	} | ||||||
| 	chest.after_place_node = function(pos) | 	chest.after_place_node = function(pos) | ||||||
| 		pipeworks.scan_for_tube_objects(pos) | 		pipeworks.scan_for_tube_objects(pos) | ||||||
| 	end | 	end | ||||||
| @@ -119,7 +122,7 @@ local chest=pipeworks:clone_node("default:chest") | |||||||
| minetest.register_node(":default:chest", chest) | minetest.register_node(":default:chest", chest) | ||||||
|  |  | ||||||
|  |  | ||||||
| local chest_locked=pipeworks:clone_node("default:chest_locked") | local chest_locked = pipeworks.clone_node("default:chest_locked") | ||||||
| 	chest_locked.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | 	chest_locked.tiles[1] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | ||||||
| 	chest_locked.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | 	chest_locked.tiles[2] = "default_chest_top.png^pipeworks_tube_connection_wooden.png" | ||||||
| 	chest_locked.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" | 	chest_locked.tiles[3] = "default_chest_side.png^pipeworks_tube_connection_wooden.png" | ||||||
| @@ -128,7 +131,8 @@ local chest_locked=pipeworks:clone_node("default:chest_locked") | |||||||
| 	-- note we don't redefine entry 6 (front). | 	-- note we don't redefine entry 6 (front). | ||||||
| 	chest_locked.groups.tubedevice = 1 | 	chest_locked.groups.tubedevice = 1 | ||||||
| 	chest_locked.groups.tubedevice_receiver = 1 | 	chest_locked.groups.tubedevice_receiver = 1 | ||||||
| 	chest_locked.tube={insert_object = function(pos,node,stack,direction) | 	chest_locked.tube = { | ||||||
|  | 		insert_object = function(pos, node, stack, direction) | ||||||
| 			local meta = minetest.env:get_meta(pos) | 			local meta = minetest.env:get_meta(pos) | ||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			return inv:add_item("main", stack) | 			return inv:add_item("main", stack) | ||||||
| @@ -138,8 +142,9 @@ local chest_locked=pipeworks:clone_node("default:chest_locked") | |||||||
| 			local inv = meta:get_inventory() | 			local inv = meta:get_inventory() | ||||||
| 			return inv:room_for_item("main", stack) | 			return inv:room_for_item("main", stack) | ||||||
| 		end, | 		end, | ||||||
| 	connect_sides={left=1, right=1, back=1, bottom=1, top=1}} | 		connect_sides = {left=1, right=1, back=1, bottom=1, top=1, front=1} | ||||||
|   local old_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node; | 	} | ||||||
|  | 	local old_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node | ||||||
| 	chest_locked.after_place_node = function(pos, placer) | 	chest_locked.after_place_node = function(pos, placer) | ||||||
| 		pipeworks.scan_for_tube_objects(pos) | 		pipeworks.scan_for_tube_objects(pos) | ||||||
| 		old_after_place(pos, placer) | 		old_after_place(pos, placer) | ||||||
|   | |||||||
| @@ -39,7 +39,7 @@ pipeworks.check_for_inflows = function(pos,node) | |||||||
| 		local name = minetest.get_node(coords[i]).name | 		local name = minetest.get_node(coords[i]).name | ||||||
| 		if name and (name == "pipeworks:pump_on" and pipeworks.check_for_liquids(coords[i])) or string.find(name,"_loaded") then | 		if name and (name == "pipeworks:pump_on" and pipeworks.check_for_liquids(coords[i])) or string.find(name,"_loaded") then | ||||||
| 			if string.find(name,"_loaded") then | 			if string.find(name,"_loaded") then | ||||||
| 				local source = minetest.get_meta(coords[i]):get_string("source") | 				source = minetest.get_meta(coords[i]):get_string("source") | ||||||
| 				if source == minetest.pos_to_string(pos) then break end | 				if source == minetest.pos_to_string(pos) then break end | ||||||
| 			end | 			end | ||||||
| 			newnode = string.gsub(node.name,"empty","loaded") | 			newnode = string.gsub(node.name,"empty","loaded") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user