summaryrefslogtreecommitdiff
path: root/storage.lua
blob: 20fe3a4036376a0b05663cec5cd93a2eeeeb949e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
local M = peripheral.find"monitor"

local sides = {}
for _,s in ipairs(redstone.getSides()) do sides[s] = true end 

local chest_types = {
	"minecraft:ironchest_diamond",
	"minecraft:ironchest_iron",
}

local function scan()

	local chests = {}
	for _,ty in ipairs(chest_types) do
		-- don't want sides, only ones over a network
		local tc = { peripheral.find(ty,function(n,p) return not sides[n] end) }
		for _,chest in ipairs(tc) do
			local name = peripheral.getName(chest)
			chests[name] = {
				content = chest.list(),
				size = chest.size(),
				pphl = chest,
			}
		end
	end
end

local function search(query)
	local chests = scan()
	for chname,chest in pairs(chests) do
		for i=1,chest.size do
			local it = chest.content[i]
			if it and it.name:lower():find(query) then
				print(it.name,"x"..it.count)
			end
		end
	end
end