Мой код дает "попытку вызвать нулевое значение" на компьютерном анализаторе семян в Minecraft.

Итак, я потратил несколько часов на поиск документации по пункту "Анализатор семян с компьютерным управлением", но на данный момент нет полезной информации. Моя цель - настроить анализатор семян, который будет проверять наличие растения рядом с анализатором и анализировать его.

Мой код:

 local sides = require("sides")

 if hasPlant(sides.left) and isAnalyzed() == false then
     analyze(side.left)
 end

Исходя из моей логики, я считаю, что результат должен анализировать начальное значение, но вместо этого он дает попытку вызвать нулевое значение (глобальное hasPlant). Судя по моему исследованию, стороны не были определены в то время, поэтому я добавил местную линию. Что еще мне будет не хватать?

1 ответ

Здесь две проблемы:

  1. Используемые моды в настоящее время содержат ошибки, поэтому интеграция с OpenComputers вообще не работает. Я открыл запрос на извлечение № 1260 для AgriCraft и № 31 для InfinityLib, который исправит это. Пока он не будет исправлен, вы ничего не сможете сделать в игре, чтобы заставить его работать. Если вы не хотите ждать официальных выпусков с исправлениями, вы можете использовать мои неофициальные сборки AgriCraft и InfinityLib, которые я использовал для тестирования своих PR и приведенного ниже кода.
  2. Код Lua, который вы пишете, неверен. Я не уверен, откуда вы это взяли, но вот как заставить его работать:
if component.agricraft_peripheral.hasPlant("EAST") and component.agricraft_peripheral.isAnalyzed() == false then
    component.agricraft_peripheral.analyze("EAST")
end

Отметить:

  • API-интерфейс Agricraft берет на себя обязательства DOWN, UP, NORTH, SOUTH, WEST, а также EAST, а не числовые константы из side.
  • Функции, предоставляемые компонентами в OpenComputers, не являются глобальными; они вложены внутриcomponent.
  • Вам может понадобиться local component = require("component"), поэтому добавьте его в начало, если вы получите сообщение об его отсутствии. (У меня он работает и без него, но в документации говорится, что он вам нужен.)
Другие вопросы по тегам