diff --git a/src/main/scala/li/cil/oc/common/tileentity/PowerDistributor.scala b/src/main/scala/li/cil/oc/common/tileentity/PowerDistributor.scala index cf748bf7e..e21397a22 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/PowerDistributor.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/PowerDistributor.scala @@ -14,6 +14,8 @@ class PowerDistributor extends traits.Environment with traits.PowerBalancer with withConnector(Settings.get.bufferDistributor). create()) + override protected def isConnected = nodes.exists(node => node.address != null && node.network != null) + override def canUpdate = isServer // ----------------------------------------------------------------------- // diff --git a/src/main/scala/li/cil/oc/common/tileentity/traits/PowerBalancer.scala b/src/main/scala/li/cil/oc/common/tileentity/traits/PowerBalancer.scala index 89c0a9a2a..a56d28f24 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/traits/PowerBalancer.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/traits/PowerBalancer.scala @@ -7,9 +7,11 @@ import net.minecraftforge.common.ForgeDirection trait PowerBalancer extends PowerInformation with SidedEnvironment { var globalBuffer, globalBufferSize = 0.0 + protected def isConnected: Boolean + override def updateEntity() { super.updateEntity() - if (isServer && world.getWorldTime % Settings.get.tickFrequency == 0) { + if (isServer && isConnected && world.getWorldTime % Settings.get.tickFrequency == 0) { val nodes = connectors def network(connector: Connector) = if (connector != null && connector.network != null) connector.network else this // Yeeeeah, so that just happened... it's not a beauty, but it works. This