Fix weird connection issue
This commit is contained in:
parent
2cf27c698d
commit
8118e96efb
7 changed files with 14 additions and 8 deletions
|
@ -321,7 +321,7 @@ public class GasNetwork extends DynamicNetwork<IGasHandler, GasNetwork>
|
||||||
{
|
{
|
||||||
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
||||||
|
|
||||||
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side))
|
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side, true))
|
||||||
{
|
{
|
||||||
possibleAcceptors.add(acceptor);
|
possibleAcceptors.add(acceptor);
|
||||||
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
||||||
|
|
|
@ -41,7 +41,7 @@ public interface IGridTransmitter<N extends DynamicNetwork<?, N>> extends ITrans
|
||||||
*/
|
*/
|
||||||
public void removeFromTransmitterNetwork();
|
public void removeFromTransmitterNetwork();
|
||||||
|
|
||||||
public boolean canConnectToAcceptor(ForgeDirection side);
|
public boolean canConnectToAcceptor(ForgeDirection side, boolean ignoreActive);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call this if you're worried a transmitter's network is messed up and you want
|
* Call this if you're worried a transmitter's network is messed up and you want
|
||||||
|
|
|
@ -336,7 +336,7 @@ public class EnergyNetwork extends DynamicNetwork<TileEntity, EnergyNetwork>
|
||||||
{
|
{
|
||||||
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
||||||
|
|
||||||
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side))
|
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side, true))
|
||||||
{
|
{
|
||||||
possibleAcceptors.add(acceptor);
|
possibleAcceptors.add(acceptor);
|
||||||
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
||||||
|
|
|
@ -320,7 +320,7 @@ public class FluidNetwork extends DynamicNetwork<IFluidHandler, FluidNetwork>
|
||||||
{
|
{
|
||||||
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
ForgeDirection side = ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor));
|
||||||
|
|
||||||
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side))
|
if(side != null && acceptor != null && !(acceptor instanceof IGridTransmitter) && transmitter.canConnectToAcceptor(side, true))
|
||||||
{
|
{
|
||||||
possibleAcceptors.add(acceptor);
|
possibleAcceptors.add(acceptor);
|
||||||
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
||||||
|
|
|
@ -591,15 +591,21 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canConnectToAcceptor(ForgeDirection side)
|
public boolean canConnectToAcceptor(ForgeDirection side, boolean ignoreActive)
|
||||||
{
|
{
|
||||||
if(!isValidAcceptor(Coord4D.get(tile()).getFromSide(side).getTileEntity(world()), side))
|
if(!isValidAcceptor(Coord4D.get(tile()).getFromSide(side).getTileEntity(world()), side))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!ignoreActive)
|
||||||
|
{
|
||||||
return getConnectionType(side) == ConnectionType.NORMAL || getConnectionType(side) == ConnectionType.PUSH;
|
return getConnectionType(side) == ConnectionType.NORMAL || getConnectionType(side) == ConnectionType.PUSH;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
return connectionTypes[side.ordinal()] == ConnectionType.NORMAL || connectionTypes[side.ordinal()] == ConnectionType.PUSH;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static enum ConnectionType
|
public static enum ConnectionType
|
||||||
{
|
{
|
||||||
|
|
|
@ -535,7 +535,7 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento
|
||||||
setStoredItemType(null, 0);
|
setStoredItemType(null, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
cacheCount = amount;
|
setItemCount(amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -116,7 +116,7 @@ public abstract class TileEntityTransmitter<N extends DynamicNetwork<?, N>> exte
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canConnectToAcceptor(ForgeDirection side)
|
public boolean canConnectToAcceptor(ForgeDirection side, boolean ignoreActive)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue