Applied-Energistics-2-tiler.../me/pathfinding/ControllerValidator.java
2013-12-27 16:59:59 -06:00

59 lines
1.1 KiB
Java

package appeng.me.pathfinding;
import appeng.api.networking.IGridHost;
import appeng.api.networking.IGridNode;
import appeng.api.networking.IGridVisitor;
import appeng.tile.networking.TileController;
public class ControllerValidator implements IGridVisitor
{
int minX;
int minY;
int minZ;
int maxX;
int maxY;
int maxZ;
public boolean isValid = true;
public int found = 0;
public ControllerValidator(int x, int y, int z) {
minX = x;
minY = y;
minZ = z;
maxX = x;
maxY = y;
maxZ = z;
}
@Override
public boolean visitNode(IGridNode n)
{
IGridHost host = n.getMachine();
if ( isValid && host instanceof TileController )
{
TileController c = (TileController) host;
minX = Math.min( c.xCoord, minX );
maxX = Math.max( c.xCoord, maxX );
minY = Math.min( c.yCoord, minY );
maxY = Math.max( c.yCoord, maxY );
minZ = Math.min( c.zCoord, minZ );
maxZ = Math.max( c.zCoord, maxZ );
if ( maxX - minX < 7 && maxY - minY < 7 && maxZ - minZ < 7 )
{
found++;
return true;
}
isValid = false;
}
else
return false;
return isValid;
}
}