From 00ca1d3e1af1765c9489d85d208fcc9af9a9be22 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 11 Oct 2023 20:33:36 +0900 Subject: [PATCH] self-connect tiles are working again --- src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt index edddff40a..201da939b 100644 --- a/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt +++ b/src/net/torvald/terrarum/worlddrawer/BlocksDrawer.kt @@ -443,14 +443,16 @@ internal object BlocksDrawer { private fun getNearbyTilesInfoConSelf(x: Int, y: Int, mode: Int, mark: Int): Int { val layer = when (mode) { - TERRAIN -> world.layerTerrain WALL -> world.layerWall + TERRAIN -> world.layerTerrain ORES -> world.layerOres FLUID -> world.layerFluids - else -> throw IllegalArgumentException() + else -> throw IllegalArgumentException("Unknown mode $mode") + } + val nearbyTiles = getNearbyTilesPos(x, y).map { + val (wx, wy) = world.coerceXY(it.x, it.y) + layer.unsafeGetTile(wx, wy) } - - val nearbyTiles = getNearbyTilesPos(x, y).map { layer.unsafeGetTile(x, y) } var ret = 0 for (i in nearbyTiles.indices) {