ControllerValidator(appeng.me.pathfinding.ControllerValidator)

基本信息

属性 值
源码 appeng/me/pathfinding/ControllerValidator.java
类声明行号 18
实现接口 appeng.api.networking.IGridVisitor
构造器 :29,三个 int(x, y, z)
可见性 public class

职责

在全网遍历中寻找朝向正确的控制器节点。它是 PathingCalculation 的一个步骤。

构造器为什么是 (int x, int y, int z)

三个坐标是参考点,不是控制器自己的位置。visitNode(:39)拿每个节点 的 IGridBlock.getLocation() 与之比对,判断该节点是否落在参考点上。 这样调用方可以「问一次:这个位置是不是控制器?」

结果出口

方法 行号 返回
isValid() 63 是否找到合法控制器
getFound() 71 找到的数量(int)

⚠️ getFound() 返回数量而不是坐标。坐标在 PathingCalculation.ControllerFace (PathingCalculation.java:247)里另行组装。

唯一的 visitor 回调

visitNode(IGridNode n)(:39)—— 这是 IGridVisitor 要求的唯一方法。 返回 true 表示继续遍历。

生命周期钩子

无。本类是单次使用的算法协作对象,不注册为 cache,不持有状态到下一 tick。

相关条目