From b24e3e6f6b0ef12dc45d38f2bd7911fe1271a5f4 Mon Sep 17 00:00:00 2001 From: payonel Date: Sun, 18 Feb 2018 13:01:19 -0800 Subject: [PATCH] buffer mapped elements in cpu list so as to not lose equivalent cpus closes #1921 --- .../oc/integration/appeng/NetworkControl.scala | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala index 3f58400b1..caf6acf7d 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala +++ b/src/main/scala/li/cil/oc/integration/appeng/NetworkControl.scala @@ -80,12 +80,17 @@ trait NetworkControl[AETile >: Null <: TileEntity with IGridProxyable with IActi } @Callback(doc = "function():table -- Get a list of tables representing the available CPUs in the network.") - def getCpus(context: Context, args: Arguments): Array[AnyRef] = - result(tile.getProxy.getCrafting.getCpus.map(cpu => Map( - "name" -> cpu.getName, - "storage" -> cpu.getAvailableStorage, - "coprocessors" -> cpu.getCoProcessors, - "busy" -> cpu.isBusy))) + def getCpus(context: Context, args: Arguments): Array[AnyRef] = { + val buffer = new mutable.ListBuffer[Map[String, Any]] + tile.getProxy.getCrafting.getCpus.foreach(cpu => { + buffer.append(Map( + "name" -> cpu.getName, + "storage" -> cpu.getAvailableStorage, + "coprocessors" -> cpu.getCoProcessors, + "busy" -> cpu.isBusy)) + }) + result(buffer.toArray) + } @Callback(doc = "function([filter:table]):table -- Get a list of known item recipes. These can be used to issue crafting requests.") def getCraftables(context: Context, args: Arguments): Array[AnyRef] = {