Перейти к содержимому
  • 0
hohserg

Как правильно работать с ме-сетью из ae2?

Вопрос

Пытаюсь работать с содержимым ме-сети через OC.

Следующий билд:

unknown.png image.png.5555b40ea73677cffba8b4332d8039a6.png шмотки в сети имеются

Следующий код и результат:

image.png.d18a3abe4dc886a253345bf4fe55a245.png

 

Что я делаю не так? Почему таблица всегда == {n=0}?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Его использование не помогло

 

Нашел похожую issue, но ее вроде давно пофиксили

https://github.com/MightyPirates/OpenComputers/issues/2718

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Странно, я летом 2019 тыкал, все работало нормально. На 1.7.10 вообще ничего не менялось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кстати, на 1.7.10 тестирую

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пофиксил тем, что обновил версию OC до последней

~~~

А где можно найти доки по части параметра filter у getItemsInNetwork?

Можно в коде посмотреть

https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala

Изменено пользователем hohserg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В фильтр можно подать список любых параметров предмета, например {name='minecraft:stone', label='ololo'}, т. е. те же поля, что возвращает getItemsInNetwork

Для экспорта надо получить фингерпринт предмета (кажется название + дамаг), затем получить его дамп из сети. И только потом, беря из дампа текущее количество, экспортировать предметы по фингерпринту, дробя требуемое количество на стаки.

local function export(item, dmg, amount)
  local fingerprint = {id = item, dmg = dmg}
  local item_dump = interface.getItemDetail(fingerprint)
  local current, result, size = amount, 0
  if item_dump then
    item_dump = item_dump.basic()
    if item_dump.qty < amount then
      amount = item_dump.qty
    end
    for stack = 1, math.ceil(amount/item_dump.max_size) do
      size = interface.exportItem(fingerprint, SIDE, current).size
      current, result = current - size, result + size
    end
  end
end

 

По крайней мере, так было раньше.

Мне больше нравится Refined Storage, там все работает из коробки, без лишних телодвижений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...