Мой код дает "попытку вызвать нулевое значение" на компьютерном анализаторе семян в Minecraft.
Итак, я потратил несколько часов на поиск документации по пункту "Анализатор семян с компьютерным управлением", но на данный момент нет полезной информации. Моя цель - настроить анализатор семян, который будет проверять наличие растения рядом с анализатором и анализировать его.
Мой код:
local sides = require("sides")
if hasPlant(sides.left) and isAnalyzed() == false then
analyze(side.left)
end
Исходя из моей логики, я считаю, что результат должен анализировать начальное значение, но вместо этого он дает попытку вызвать нулевое значение (глобальное hasPlant
). Судя по моему исследованию, стороны не были определены в то время, поэтому я добавил местную линию. Что еще мне будет не хватать?
1 ответ
Здесь две проблемы:
- Используемые моды в настоящее время содержат ошибки, поэтому интеграция с OpenComputers вообще не работает. Я открыл запрос на извлечение № 1260 для AgriCraft и № 31 для InfinityLib, который исправит это. Пока он не будет исправлен, вы ничего не сможете сделать в игре, чтобы заставить его работать. Если вы не хотите ждать официальных выпусков с исправлениями, вы можете использовать мои неофициальные сборки AgriCraft и InfinityLib, которые я использовал для тестирования своих PR и приведенного ниже кода.
- Код 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")
, поэтому добавьте его в начало, если вы получите сообщение об его отсутствии. (У меня он работает и без него, но в документации говорится, что он вам нужен.)