diff --git a/src/net/torvald/terrarum/gameworld/GameWorld.kt b/src/net/torvald/terrarum/gameworld/GameWorld.kt index 38b3aa33e..ca7edaa93 100644 --- a/src/net/torvald/terrarum/gameworld/GameWorld.kt +++ b/src/net/torvald/terrarum/gameworld/GameWorld.kt @@ -376,12 +376,24 @@ open class GameWorld( if (BlockCodex[itemID].isSolid) { layerFluids.unsafeSetTile(x, y, fluidNameToNumberMap[Fluid.NULL]!!, 0f) +// Terrarum.ingame?.modified(LandUtil.LAYER_FLUID, x, y) } // fluid tiles-item should be modified so that they will also place fluid onto their respective map + val oldOre = layerOres.unsafeGetTile(x, y) + val deleteOldOre = (oldOre != 0 && !BlockCodex[itemID].isSolid) + + if (deleteOldOre) { + layerOres.unsafeSetTile(x, y, 0, 0) + } + if (!bypassEvent && oldTerrain != itemID) { Terrarum.ingame?.queueTerrainChangedEvent(oldTerrain, itemID, x, y) Terrarum.ingame?.modified(LandUtil.LAYER_TERR, x, y) + + if (deleteOldOre) { + Terrarum.ingame?.modified(LandUtil.LAYER_ORES, x, y) + } } } @@ -398,7 +410,7 @@ open class GameWorld( if (!bypassEvent) { Terrarum.ingame?.queueWireChangedEvent(tile, false, x, y) - Terrarum.ingame?.modified(LandUtil.LAYER_WIRE, x, y) +// Terrarum.ingame?.modified(LandUtil.LAYER_WIRE, x, y) } /* @@ -430,7 +442,7 @@ open class GameWorld( if (wireNode != null) { if (!bypassEvent) { Terrarum.ingame?.queueWireChangedEvent(tile, true, x, y) - Terrarum.ingame?.modified(LandUtil.LAYER_WIRE, x, y) +// Terrarum.ingame?.modified(LandUtil.LAYER_WIRE, x, y) } // disconnect neighbouring nodes diff --git a/src/net/torvald/terrarum/realestate/LandUtil.kt b/src/net/torvald/terrarum/realestate/LandUtil.kt index 91f356272..66de89133 100644 --- a/src/net/torvald/terrarum/realestate/LandUtil.kt +++ b/src/net/torvald/terrarum/realestate/LandUtil.kt @@ -16,7 +16,8 @@ object LandUtil { const val LAYER_TERR = 0 const val LAYER_WALL = 1 - const val LAYER_WIRE = 2 + const val LAYER_ORES = 2 + const val LAYER_WIRE = 20 const val LAYER_FLUID = 3 fun toChunkNum(world: GameWorld, x: Int, y: Int): Int {