Page 1 of 1
[Rseding91] [2.0.47] Tiles colliding with cliffs remove some cliffs upon placement
Posted: Tue May 06, 2025 1:08 pm
by jurgy
When placing tiles that collide with cliffs, some of the cliffs disappear.
Repro:
Modify concrete collision and ensure entity collisions are checked:
Code: Select all
data.raw.tile["concrete"].collision_mask = {layers = {ground_tile = true, cliff = true}}
data.raw.tile["concrete"].check_collision_with_entities = true
Game highlights collision correctly it seems:

- 05-06-2025, 15-06-30.png (2.25 MiB) Viewed 883 times
Result:

- 05-06-2025, 15-07-10.png (1.67 MiB) Viewed 883 times
Re: [2.0.47] Tiles colliding with cliffs remove some cliffs upon placement
Posted: Tue May 06, 2025 2:40 pm
by Rseding91
I suspect the tiles get applied 1 at a time, some cliffs are deleted, then as more tiles are applied other cliffs are deleted and as part of deleting them, they "fix up" the ends which end up on top of the already applied tiles.
The "fix up" logic does not seem to be doing tile collision checks.
Re: [2.0.47] Tiles colliding with cliffs remove some cliffs upon placement
Posted: Tue May 06, 2025 2:50 pm
by jurgy
But the cliffs shouldn't be deleted in the first place, right?
Re: [2.0.47] Tiles colliding with cliffs remove some cliffs upon placement
Posted: Tue May 06, 2025 4:34 pm
by Rseding91
They should. If the tile collides with the cliff it will remove the cliff - as intended. Any colliding entity gets removed when a colliding tile is put under it.
Re: [2.0.47] Tiles colliding with cliffs remove some cliffs upon placement
Posted: Tue May 06, 2025 5:07 pm
by jurgy
But shouldn't the game prevent you from placing the tiles under the cliffs since they collide? Just like you can't place buildings on cliffs.
Edit, my assumption is in line with the current behavior of other collision layers.
If you set "object = true" to concrete collision mask you don't remove the other objects with that layer, you place the concrete around the objects:

- 05-06-2025, 19-36-10.png (799.75 KiB) Viewed 730 times
To be clear, I'm talking about placing the concrete down as a player. Not in script.