Спустя сотни лет, теперь могу добавить подсказку всем не равнодушным. Для nbt_hash ипользовать одну функцию заказа из мода OpenPeripheral, а вот для предметов без nbt_hash использовать обычную функцию из интеграции OC. Вот пример кода про что я имею ввиду...
function obj:requstItemToCraft(itemElement)
local error, status = pcall(function()
if type(itemElement["nbt_hash"]) == "string" then
print("Заказываю: " ..
itemElement["itemLabel"] .. " общим количеством - " .. tostring(itemElement["craftAmount"]) .. "\n")
self.me_interface.requestCrafting(
{ id = itemElement["itemName"], dmg = itemElement["itemDamage"], nbt_hash = itemElement["nbt_hash"] },
itemElement["craftAmount"])
print("------------- Предмет: " .. itemElement["itemLabel"] .. " имеет nbt_hash, статус крафта НЕ ОТСЛЕЖИВАЕТСЯ! ----------------\n")
return true
else
if self.craftQueue[itemElement["img_md5"]] == nil then
print("Заказываю: " ..
itemElement["itemLabel"] .. " общим количеством - " .. tostring(itemElement["craftAmount"]) .. "\n")
local info = self.me_interface.getCraftables({ name = itemElement["itemName"], damage = itemElement["itemDamage"] })
if #info > 0 then
return info[1].request(itemElement["craftAmount"])
else
print("------------- При попытке получить рецепт крафта, шаблон куда-то исчез ----------------\n")
return false
end
else
print("------------- Предмет: " .. itemElement["itemLabel"] .. ", уже стоит на крафте, пропускаю задание на крафт ----------------\n")
end
end
end)
if not error then
print(tostring(status))
return false
end
return status
end