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));
|
||||
|
||||
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);
|
||||
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 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
|
||||
|
|
|
@ -336,7 +336,7 @@ public class EnergyNetwork extends DynamicNetwork<TileEntity, EnergyNetwork>
|
|||
{
|
||||
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);
|
||||
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));
|
||||
|
||||
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);
|
||||
acceptorDirections.put(acceptor, ForgeDirection.getOrientation(Arrays.asList(acceptors).indexOf(acceptor)));
|
||||
|
|
|
@ -591,15 +591,21 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart,
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean canConnectToAcceptor(ForgeDirection side)
|
||||
public boolean canConnectToAcceptor(ForgeDirection side, boolean ignoreActive)
|
||||
{
|
||||
if(!isValidAcceptor(Coord4D.get(tile()).getFromSide(side).getTileEntity(world()), side))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!ignoreActive)
|
||||
{
|
||||
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
|
||||
{
|
||||
|
|
|
@ -535,7 +535,7 @@ public class TileEntityBin extends TileEntityBasicBlock implements ISidedInvento
|
|||
setStoredItemType(null, 0);
|
||||
}
|
||||
|
||||
cacheCount = amount;
|
||||
setItemCount(amount);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -116,7 +116,7 @@ public abstract class TileEntityTransmitter<N extends DynamicNetwork<?, N>> exte
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean canConnectToAcceptor(ForgeDirection side)
|
||||
public boolean canConnectToAcceptor(ForgeDirection side, boolean ignoreActive)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue