optimize cables a bit

This commit is contained in:
Raoul Van den Berge
2015-12-15 22:22:02 +01:00
parent b47dc933c8
commit fa363f27da
2 changed files with 7 additions and 7 deletions

View File

@@ -1,6 +1,5 @@
package storagecraft.tile;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block;
import net.minecraft.tileentity.TileEntity;
@@ -26,11 +25,7 @@ public class TileCable extends TileSC {
return true;
}
public void addMachines(List<TileMachine> machines, TileController controller) {
addMachines(new ArrayList<Vec3>(), machines, controller);
}
private void addMachines(List<Vec3> visited, List<TileMachine> machines, TileController controller) {
public void addMachines(List<Vec3> visited, List<TileMachine> machines, TileController controller) {
for (Vec3 visitedBlock : visited) {
if (visitedBlock.xCoord == xCoord && visitedBlock.yCoord == yCoord && visitedBlock.zCoord == zCoord) {
return;

View File

@@ -10,6 +10,7 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Vec3;
import net.minecraftforge.common.util.ForgeDirection;
import storagecraft.storage.IStorage;
import storagecraft.storage.IStorageProvider;
@@ -21,6 +22,8 @@ public class TileController extends TileSC implements IEnergyReceiver, INetworkT
private List<TileMachine> machines = new ArrayList<TileMachine>();
private List<Vec3> visitedCables = new ArrayList<Vec3>();
private EnergyStorage energy = new EnergyStorage(32000);
private int energyUsage;
@@ -39,13 +42,15 @@ public class TileController extends TileSC implements IEnergyReceiver, INetworkT
if (!isActive()) {
disconnectAll();
} else {
visitedCables.clear();
List<TileMachine> newMachines = new ArrayList<TileMachine>();
for (ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) {
TileEntity tile = worldObj.getTileEntity(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ);
if (tile instanceof TileCable) {
((TileCable) tile).addMachines(newMachines, this);
((TileCable) tile).addMachines(visitedCables, newMachines, this);
}
}