1

因此,我花了几个小时寻找有关“计算机控制种子分析仪”项目的文档,但目前没有有用的信息。我的目标是建立一个种子分析仪,它将检查分析仪旁边的植物并对其进行分析。

我的代码:

 local sides = require("sides")

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

根据我的逻辑,我认为结果应该分析种子,但它尝试调用 nil 值(全局hasPlant)。根据我的研究,当时没有定义边,因此我添加了本地线。我还会缺少什么?

计算机控制的种子分析仪

4

1 回答 1

2

这里有两个问题:

  1. 所涉及的模组目前有问题,因此 OpenComputers 集成根本不起作用。我为 AgriCraft打开了 pull request #1260 ,为 InfinityLib 打开了 #31 来修复它。在它修复之前,你无法在游戏中做任何事情来让它工作。如果您不想等待带有修复程序的官方版本,您可以使用我的 AgriCraftInfinityLib的非官方版本,我用来测试我的 PR 和以下代码。
  2. 您正在编写的 Lua 代码是错误的。我不确定你从哪里得到它,但这是你如何使它工作的:
if component.agricraft_peripheral.hasPlant("EAST") and component.agricraft_peripheral.isAnalyzed() == false then
    component.agricraft_peripheral.analyze("EAST")
end

注意:

  • Agricraft API 采用字符串DOWNUPNORTHSOUTHWESTEAST,而不是来自 的数字常量side
  • OpenComputes 中的组件提供的功能不是全局的;它们嵌套在component.
  • 您可能需要local component = require("component"),因此如果您收到有关它丢失的错误,请将其添加到顶部。(没有它它对我有用,但是一堆文档说你需要它。)
于 2020-01-05T21:51:05.140 回答