From 2a7bbaeb974be36b4ca714f2c2c604fda2306d8c Mon Sep 17 00:00:00 2001 From: bdew Date: Wed, 3 Sep 2014 17:37:00 +0300 Subject: [PATCH] prevent outputs connecting back to the same structure --- src/net/bdew/lib/multiblock/tile/TileOutput.scala | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net/bdew/lib/multiblock/tile/TileOutput.scala b/src/net/bdew/lib/multiblock/tile/TileOutput.scala index 26482b5..e1d2b69 100644 --- a/src/net/bdew/lib/multiblock/tile/TileOutput.scala +++ b/src/net/bdew/lib/multiblock/tile/TileOutput.scala @@ -38,7 +38,11 @@ abstract class TileOutput extends TileModule with MIOutput { def doRescanFaces() { getCore map { core => - val connections = ForgeDirection.VALID_DIRECTIONS.filter(canConnectoToFace).toSet + val connections = ( + ForgeDirection.VALID_DIRECTIONS + filterNot { dir => core.modules.contains(mypos.neighbour(dir)) } + filter canConnectoToFace + ).toSet val known = core.outputFaces.filter(_._1.origin == mypos).map(_._1.face).toSet val toAdd = connections -- known val toRemove = known -- connections