mirror of
				https://github.com/mt-mods/pipeworks.git
				synced 2025-10-30 19:45:33 +01:00 
			
		
		
		
	Merge pull request #45 from hdastwb/lockedchest
Locked chest integration
This commit is contained in:
		| @@ -218,7 +218,50 @@ function tube_autoroute(pos) | |||||||
|  |  | ||||||
| 	-- does not scan for the front side of the node. | 	-- does not scan for the front side of the node. | ||||||
|  |  | ||||||
| --chests | --locked chests | ||||||
|  |  | ||||||
|  | 	-- check for left/right connects | ||||||
|  |  | ||||||
|  | 	if string.find(nxm.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and (nxm.param2 == 0 or nxm.param2 == 2) then | ||||||
|  | 		pxm=1 end | ||||||
|  | 	if string.find(nxp.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and (nxp.param2 == 0 or nxp.param2 == 2) then | ||||||
|  | 		pxp=1 end | ||||||
|  |  | ||||||
|  | 	if string.find(nzm.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and (nzm.param2 == 1 or nzm.param2 == 3) then | ||||||
|  | 		pzm=1 end | ||||||
|  | 	if string.find(nzp.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and (nzp.param2 == 1 or nzp.param2 == 3) then | ||||||
|  | 		pzp=1 end | ||||||
|  |  | ||||||
|  | 	-- check for backside connects | ||||||
|  |  | ||||||
|  | 	if string.find(nxm.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and nxm.param2 == 1 then | ||||||
|  | 		pxm = 1 end | ||||||
|  |  | ||||||
|  | 	if string.find(nxp.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and nxp.param2 == 3 then | ||||||
|  | 		pxp = 1 end | ||||||
|  |  | ||||||
|  | 	if string.find(nzm.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and nzm.param2 == 0 then | ||||||
|  | 		pzm = 1 end | ||||||
|  |  | ||||||
|  | 	if string.find(nzp.name, "default:chest_locked") ~= nil | ||||||
|  | 	  and nzp.param2 == 2 then | ||||||
|  | 		pzp = 1 end | ||||||
|  |  | ||||||
|  | 	-- check for top/bottom connections | ||||||
|  |  | ||||||
|  | 	if string.find(nym.name, "default:chest_locked") ~= nil then pym = 1 end | ||||||
|  | 	if string.find(nyp.name, "default:chest_locked") ~= nil then pyp = 1 end | ||||||
|  |  | ||||||
|  | 	-- does not scan for the front side of the node. | ||||||
|  |  | ||||||
|  | --furnaces | ||||||
|  |  | ||||||
| 	-- check for left/right connects | 	-- check for left/right connects | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										25
									
								
								compat.lua
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								compat.lua
									
									
									
									
									
								
							| @@ -97,3 +97,28 @@ chest=clone_node("default:chest") | |||||||
| 	end | 	end | ||||||
|  |  | ||||||
| minetest.register_node(":default:chest",chest) | minetest.register_node(":default:chest",chest) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | chest_locked=clone_node("default:chest_locked") | ||||||
|  | 	chest_locked.groups.tubedevice=1 | ||||||
|  | 	chest_locked.groups.tubedevice_receiver=1 | ||||||
|  | 	chest_locked.tube={insert_object = function(pos,node,stack,direction) | ||||||
|  | 		local meta=minetest.env:get_meta(pos) | ||||||
|  | 		local inv=meta:get_inventory() | ||||||
|  | 		return inv:add_item("main",stack) | ||||||
|  | 	end, | ||||||
|  | 	can_insert=function(pos,node,stack,direction) | ||||||
|  | 		local meta=minetest.env:get_meta(pos) | ||||||
|  | 		local inv=meta:get_inventory() | ||||||
|  | 		return inv:room_for_item("main",stack) | ||||||
|  | 	end} | ||||||
|  |   local old_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node; | ||||||
|  | 	chest_locked.after_place_node = function(pos, placer) | ||||||
|  | 		tube_scanforobjects(pos) | ||||||
|  |     old_after_place(pos, placer) | ||||||
|  | 	end | ||||||
|  | 	chest_locked.after_dig_node = function(pos) | ||||||
|  | 		tube_scanforobjects(pos) | ||||||
|  | 	end | ||||||
|  |  | ||||||
|  | minetest.register_node(":default:chest_locked",chest_locked) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user