Fixed #282 - Connector loop concurrent modification

This commit is contained in:
Calclavia 2014-02-25 08:23:07 +08:00
parent cbbe4ecb5e
commit c122eaec05

View file

@ -1,5 +1,6 @@
package resonantinduction.core.prefab.fluid;
import java.util.HashSet;
import java.util.Set;
import net.minecraftforge.common.ForgeDirection;
@ -38,7 +39,6 @@ public abstract class FluidNetwork extends NodeNetwork<IFluidNetwork, IFluidConn
@Override
public void update()
{
// TODO change to distribute fluid
}
@Override
@ -58,9 +58,7 @@ public abstract class FluidNetwork extends NodeNetwork<IFluidNetwork, IFluidConn
{
this.tank = new FluidTank(0);
synchronized (getConnectors())
{
for (IFluidConnector part : this.getConnectors())
for (IFluidConnector part : new HashSet<IFluidConnector>(getConnectors()))
{
if (part.getNetwork() instanceof IFluidNetwork)
{
@ -69,7 +67,6 @@ public abstract class FluidNetwork extends NodeNetwork<IFluidNetwork, IFluidConn
this.reconstructConnector(part);
}
}
this.reconstructTankInfo();
this.distributeConnectors();