From cf5e23e1f1014da39e0dd5f54191ae9641546db8 Mon Sep 17 00:00:00 2001 From: payonel Date: Mon, 1 Oct 2018 02:47:55 -0700 Subject: [PATCH] clean up new trade code slightly --- .../li/cil/oc/server/component/UpgradeTrading.scala | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala b/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala index 11aa99875..e958aa019 100644 --- a/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala +++ b/src/main/scala/li/cil/oc/server/component/UpgradeTrading.scala @@ -48,11 +48,7 @@ class UpgradeTrading(val host: EnvironmentHost) extends prefab.ManagedEnvironmen val merchants = entitiesInBounds[Entity](position.bounds.expand(maxRange, maxRange, maxRange)). filter(isInRange). collect { case merchant: IMerchant => merchant } - var ids: List[UUID] = List[UUID]() - for ( (id, _) <- merchants.groupBy { merchant => merchant.getPersistentID } ) { - ids :+= id - } - ids = ids.sorted.reverse + val ids = merchants.collect { case merchant: IMerchant => merchant.getPersistentID }.sorted.reverse def indexOfMerchant(id: UUID): Int = { for (i <- ids.indices) { if (ids(i) == id) { @@ -61,7 +57,8 @@ class UpgradeTrading(val host: EnvironmentHost) extends prefab.ManagedEnvironmen } -1 } - result(merchants.flatMap(merchant => merchant.getRecipes(null).indices.map(index => { + // sorting the result is not necessary, but will help the trade sort index line up nicely + result(merchants.sortBy(m => m.getPersistentID).reverse.flatMap(merchant => merchant.getRecipes(null).indices.map(index => { val idx = indexOfMerchant(merchant.getPersistentID) new Trade(this, merchant, index, idx) })))