diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java index edd6154bb..16ef68568 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java @@ -18,8 +18,6 @@ public interface IReaderWriter extends INetworkNode { if (network != null && !name.isEmpty()) { network.addReaderWriterChannel(name); - - network.sendReaderWriterChannelUpdate(); } } @@ -28,8 +26,6 @@ public interface IReaderWriter extends INetworkNode { if (network != null && !name.isEmpty()) { network.removeReaderWriterChannel(name); - - network.sendReaderWriterChannelUpdate(); } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index 8aa2da49b..c633e5dfc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -572,11 +572,22 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR @Override public void addReaderWriterChannel(String name) { readerWriterChannels.put(name, API.instance().createReaderWriterChannel(name, this)); + + sendReaderWriterChannelUpdate(); } @Override public void removeReaderWriterChannel(String name) { - readerWriterChannels.remove(name); + IReaderWriterChannel channel = getReaderWriterChannel(name); + + if (channel != null) { + channel.getReaders().forEach(reader -> reader.setChannel("")); + channel.getWriters().forEach(writer -> writer.setChannel("")); + + readerWriterChannels.remove(name); + + sendReaderWriterChannelUpdate(); + } } @Override