fix structure pipes not respecting blocking pluggables
This commit is contained in:
parent
a110ed1071
commit
c5408d95d6
2 changed files with 8 additions and 4 deletions
|
@ -226,7 +226,7 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
|
|||
Pipe<?> pipe = (Pipe<?>) tilePipe.getPipe();
|
||||
|
||||
if (BlockGenericPipe.isFullyDefined(pipe)) {
|
||||
if (isWireConnectedTo(tile, color)) {
|
||||
if (isWireConnectedTo(tile, color, o)) {
|
||||
foundBiggerSignal |= receiveSignal(pipe.signalStrength[color.ordinal()] - 1, color);
|
||||
}
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
|
|||
Pipe<?> pipe = (Pipe<?>) tilePipe.getPipe();
|
||||
|
||||
if (BlockGenericPipe.isFullyDefined(pipe) && pipe.wireSet[wire.ordinal()]) {
|
||||
if (isWireConnectedTo(tile, wire)) {
|
||||
if (isWireConnectedTo(tile, wire, o)) {
|
||||
pipe.receiveSignal(signalStrength[wire.ordinal()] - 1, wire);
|
||||
}
|
||||
}
|
||||
|
@ -474,7 +474,7 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
|
|||
return container;
|
||||
}
|
||||
|
||||
public boolean isWireConnectedTo(TileEntity tile, PipeWire color) {
|
||||
public boolean isWireConnectedTo(TileEntity tile, PipeWire color, ForgeDirection dir) {
|
||||
if (!(tile instanceof IPipeTile)) {
|
||||
return false;
|
||||
}
|
||||
|
@ -489,6 +489,10 @@ public abstract class Pipe<T extends PipeTransport> implements IDropControlInven
|
|||
return false;
|
||||
}
|
||||
|
||||
if (container.hasBlockingPluggable(dir) || pipe.container.hasBlockingPluggable(dir.getOpposite())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return pipe.transport instanceof PipeTransportStructure || transport instanceof PipeTransportStructure
|
||||
|| Utils.checkPipesConnections(
|
||||
container, tile);
|
||||
|
|
|
@ -480,7 +480,7 @@ public class TileGenericPipe extends TileEntity implements IFluidHandler,
|
|||
renderState.wireMatrix.setWire(color, pipe.wireSet[color.ordinal()]);
|
||||
|
||||
for (ForgeDirection direction : ForgeDirection.VALID_DIRECTIONS) {
|
||||
renderState.wireMatrix.setWireConnected(color, direction, pipe.isWireConnectedTo(this.getTile(direction), color));
|
||||
renderState.wireMatrix.setWireConnected(color, direction, pipe.isWireConnectedTo(this.getTile(direction), color, direction));
|
||||
}
|
||||
|
||||
boolean lit = pipe.signalStrength[color.ordinal()] > 0;
|
||||
|
|
Loading…
Reference in a new issue