diff --git a/src/main/java/mekanism/api/transmitters/DynamicNetwork.java b/src/main/java/mekanism/api/transmitters/DynamicNetwork.java index 436d4e70a..e364cf81e 100644 --- a/src/main/java/mekanism/api/transmitters/DynamicNetwork.java +++ b/src/main/java/mekanism/api/transmitters/DynamicNetwork.java @@ -88,7 +88,7 @@ public abstract class DynamicNetwork> implemen } updateCapacity(); clampBuffer(); - queueClientUpdate((Collection>)transmittersToAdd.clone()); + queueClientUpdate(new ArrayList<>(transmittersToAdd)); transmittersToAdd.clear(); } diff --git a/src/main/java/mekanism/common/multipart/PartSidedPipe.java b/src/main/java/mekanism/common/multipart/PartSidedPipe.java index 05a54dcc6..1d475aa3c 100644 --- a/src/main/java/mekanism/common/multipart/PartSidedPipe.java +++ b/src/main/java/mekanism/common/multipart/PartSidedPipe.java @@ -639,7 +639,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, protected void onModeChange(ForgeDirection side) { - refreshConnections(); + markDirtyAcceptor(side); } protected void markDirtyTransmitters() @@ -773,7 +773,7 @@ public abstract class PartSidedPipe extends TMultiPart implements TSlottedPart, connectionTypes[hit.subHit] = connectionTypes[hit.subHit].next(); sendDesc = true; - onModeChange(ForgeDirection.getOrientation(side)); + onModeChange(ForgeDirection.getOrientation(hit.subHit)); player.addChatMessage(new ChatComponentText("Connection type changed to " + connectionTypes[hit.subHit].toString())); return true; diff --git a/src/main/java/mekanism/common/multipart/PartTransmitter.java b/src/main/java/mekanism/common/multipart/PartTransmitter.java index ecc7fc626..0169c3d02 100644 --- a/src/main/java/mekanism/common/multipart/PartTransmitter.java +++ b/src/main/java/mekanism/common/multipart/PartTransmitter.java @@ -64,12 +64,6 @@ public abstract class PartTransmitter> extends super.preRemove(); } - @Override - protected void onModeChange(ForgeDirection side) - { - super.onModeChange(side); - } - @Override public void onNeighborTileChanged(int side, boolean weak) { @@ -98,6 +92,11 @@ public abstract class PartTransmitter> extends public A getCachedAcceptor(ForgeDirection side) { + ConnectionType type = connectionTypes[side.ordinal()]; + if(type == ConnectionType.PULL || type == ConnectionType.NONE) + { + return null; + } return connectionMapContainsSide(currentAcceptorConnections, side) ? (A)cachedAcceptors[side.ordinal()] : null; }