From e585b13b10c137734dcb6d25169a3aec2cdd90be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Mon, 8 Dec 2014 23:37:28 +0100 Subject: [PATCH] Made file systems count as 1/4th component instead of being completely free. Just to avoid unhealthy numbers of raids/disk drives being connected to one computer. --- src/main/scala/li/cil/oc/server/machine/Machine.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/scala/li/cil/oc/server/machine/Machine.scala b/src/main/scala/li/cil/oc/server/machine/Machine.scala index ab131c4b1..565afbd5d 100644 --- a/src/main/scala/li/cil/oc/server/machine/Machine.scala +++ b/src/main/scala/li/cil/oc/server/machine/Machine.scala @@ -94,9 +94,9 @@ class Machine(val host: MachineHost) extends prefab.ManagedEnvironment with mach override def components = scala.collection.convert.WrapAsJava.mapAsJavaMap(_components) - def componentCount = _components.count { - case (_, name) => name != "filesystem" - } + addedComponents.count(_.name != "filesystem") - 1 // -1 = this computer + def componentCount = (_components.foldLeft(0.0)((acc, entry) => entry match { + case (_, name) => acc + (if (name != "filesystem") 1.0 else 0.25) + }) + addedComponents.foldLeft(0.0)((acc, component) => acc + (if (component.name != "filesystem") 1 else 0.25)) - 1).toInt // -1 = this computer override def tmpAddress = tmp.fold(null: String)(_.node.address)