diff --git a/src/main/java/refinedstorage/tile/MachineSearcher.java b/src/main/java/refinedstorage/tile/MachineSearcher.java index 61a3703da..853a62b98 100755 --- a/src/main/java/refinedstorage/tile/MachineSearcher.java +++ b/src/main/java/refinedstorage/tile/MachineSearcher.java @@ -7,16 +7,15 @@ import net.minecraft.util.math.BlockPos; import refinedstorage.RefinedStorageBlocks; import java.util.List; +import java.util.Set; public class MachineSearcher { - public static void search(TileController controller, BlockPos current, List visited, List machines) { - for (BlockPos visit : visited) { - if (visit.equals(current) || controller.getPos().equals(current)) { - return; - } + public static void search(TileController controller, BlockPos current, Set visited, List machines) { + if (visited.contains(current.getX() + "," + current.getY() + "," + current.getZ()) || controller.getPos().equals(current)) { + return; } - visited.add(current); + visited.add(current.getX() + "," + current.getY() + "," + current.getZ()); Block block = controller.getWorld().getBlockState(current).getBlock(); TileEntity tile = controller.getWorld().getTileEntity(current); diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 1b7b5f9ff..ba23f7d44 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -61,7 +61,7 @@ public class TileController extends TileBase implements IEnergyReceiver, INetwor private List craftingTasks = new ArrayList(); private List craftingTasksToAdd = new ArrayList(); - private List visited = new ArrayList(); + private Set visited = new HashSet(); private EnergyStorage energy = new EnergyStorage(ENERGY_CAPACITY); private int energyUsage;