Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- chestNames = {"chest", "copper", "iron", "silver", "gold", "diamond", "crystal", "obsidian", "mcp_mobius_betterbarrel"}
- chests = {}
- local Args = {...}
- if Args[1] == "update" then
- print("Updating...")
- program = shell.getRunningProgram()
- fs.delete(program)
- shell.run("pastebin", "get", "HpEA4KWV", program)
- print("Finished updating.")
- error()
- end
- for i = 0, 100 do
- for s, k in pairs(chestNames) do
- p = peripheral.wrap(k .. "_" .. i)
- if p ~= nil then
- table.insert(chests, p)
- end
- end
- end
- items = {}
- function isSameData(data1, data2)
- if data1.display_name ~= data2.display_name then return false end
- if data1.raw_name ~= data2.raw_name then return false end
- if data1.dmg ~= data2.dmg then return false end
- if data1.maxdmg ~= data2.maxdmg then return false end
- if data1.max_size ~= data2.max_size then return false end
- if data1.id ~= data2.id then return false end
- -- if data1.ore_dict ~= data2.ore_dict then return false end
- if data1.name ~= data2.name then return false end
- if data1.mod_id ~= data2.mod_id then return false end
- return true
- end
- function append(data1, data2)
- data1.qty = data1.qty + data2.qty
- end
- function safeString(input)
- text = tostring(input)
- local newText = {}
- for i = 1, #text do
- local val = text:byte(i)
- newText[i] = (val > 31 and val < 127) and val or 63
- end
- return string.char(unpack(newText))
- end
- for i, chest in pairs(chests) do
- for j, stack in pairs(chest.getAllStacks()) do
- stackData = stack.all()
- -- print(stackData.name .. " - " .. stackData.id .. " - " .. stackData.qty)
- id = tostring(stackData.id) .. ":" .. tostring(stackData.dmg)
- if items[id] == nil then
- items[id] = stackData
- else
- append(items[id], stackData)
- -- print(isSameData(items[id], stackData))
- end
- end
- end
- for i, data in pairs(items) do
- print(i .. " - " .. data.qty)
- write(safeString(data.display_name) .. ", ")
- write(safeString(data.raw_name) .. ", ")
- write(safeString(data.dmg) .. ", ")
- write(safeString(data.maxdmg) .. ", ")
- write(safeString(data.max_size) .. ", ")
- write(safeString(data.id) .. ", ")
- write(safeString(data.ore_dict) .. ", ")
- write(safeString(data.name) .. ", ")
- write(safeString(data.mod_id) .. "\n")
- end
Advertisement
Add Comment
Please, Sign In to add comment