Добрый день, Я пишу выдавальщик предметов с огромного кол-ва слотов, сейчас программа работает медлеено и я ищу способы для ускорения работы с транспозерами и таблицами
сейчас у меня 4 транспозера с четырьмя сундуками на каждом.
В каждом сундуке по 117 слотов и в общем 1872 ячейки в системе.
при запуске программы, после выполнения поиска и после выдачи предмета выполняется этот код:
function chest.getStorageItems()
local tpTable = {}
local thisItems = {}
local allItems = {}
for k in component.list("transposer") do table.insert(tpTable,k) end
for index, tp in pairs(tpTable) do
for i=0,5,1 do
if (component.invoke(tp, "getInventoryName", i)) and (i~=5) then
thisItems = component.invoke(tp, "getAllStacks", i).getAll()
for o,thisItm in pairs(thisItems) do
if (thisItm.name~="minecraft:air") then
local this = false
for g,allItm in pairs(allItems) do
if ((this==false) and (allItm.name == thisItm.name) and (allItm.label == thisItm.label)) then
this = true
allItm.count = allItm.count+thisItm.size
end
end
if this == false then
table.insert(allItems, {name = thisItm.name, count = thisItm.size, label = thisItm.label})
end
end
end
end
end
end
return allItems
end
Сверху идёт провод, а выдача происходит на север.
Каждый раз проверять сундуки надо потому что поставка предметов идёт не через систему и во время работы программы нужный предмет может появиться.
Это обновление сейчас занимает 2-3 секунды, можно ли как-то ускорить этот процесс?