[2.0.14] Undoing manual construction of entity ghost does not restore ghost if the entity matches

Bugs that are actually features.
roaringdragon2
Burner Inserter
Burner Inserter
Posts: 10
Joined: Fri Apr 22, 2016 10:01 pm
Contact:

[2.0.14] Undoing manual construction of entity ghost does not restore ghost if the entity matches

Post by roaringdragon2 »

What did you do?
I have a furnace array blueprint, and I started manually constructing it:
1FurnaceBlueprint.png
1FurnaceBlueprint.png (853.23 KiB) Viewed 323 times
First I added some furnaces, but not all of them because I ran out, so there are still furnace ghosts:
2placeSomeFurnacesButNotAll.png
2placeSomeFurnacesButNotAll.png (962.85 KiB) Viewed 323 times
Then, I drag inserters across built furnaces to place them. I then accidentally drag them across the unbuilt ghost furnaces as well, replacing the precious blueprint:
3placeInsertersAcrossFurnacesAndGhostFurnaces.png
3placeInsertersAcrossFurnacesAndGhostFurnaces.png (885.81 KiB) Viewed 323 times
In despair, I undo what I just did, pressing the key 6 times to undo all of the inserters:
4UndoConstructionOfInserters.png
4UndoConstructionOfInserters.png (958.18 KiB) Viewed 323 times
I then manually deconstruct the inserters, being careful not to touch the ghosts underneath. Now my furnaces are back, but the inserters that I had to undo to get through the undo queue have been removed, and their ghosts not restored:
5ManuallyDeconstructInsertersNowGhostsAreGone.png
5ManuallyDeconstructInsertersNowGhostsAreGone.png (805.74 KiB) Viewed 323 times
What happened?
When a manual construction of a ghost was undone, the ghost was not restored.

What did you expect to happen instead? It might be obvious to you, but do it anyway!
Ghosts are now restored upon undo of manual construction, and this should extend to entities that are placed on ghosts that they match. When I undid the six inserters and removed them manually, the inserter ghosts should have reappeared in addition to the furnace ghosts.

Does it happen always, once, or sometimes?
Always



I realize that such a change could cause issues with construction bots, but maybe the ghost can be replaced only if the entity is manually deconstructed?
Attachments
factorio-current.log
(10.12 KiB) Downloaded 27 times
posila
Former Staff
Former Staff
Posts: 5448
Joined: Thu Jun 11, 2015 1:35 pm
Contact:

Re: [2.0.14] Undoing manual construction of entity ghost does not restore ghost if the entity matches

Post by posila »

Hello, thanks for the report.
I understand your expectation, it sounds reasonable to me, but I think the current behavior is correct.

When you build a inserter ghost, it is indication to the game that you want inserter to be there. When you revive the ghost, the inserter is there. When you undo, you say that you changed your mind and don't want the inserter to be there anymore, so it get's marked for deconstruction. When you mine it, the inserter that you don't want to be there anymore, is not there anymore.

So from the game's perspective, you told it you want inserters there, and when they were there, you told it you don't want them there anymore. So this seems to me like "the game didn't read my mind" scenario.

One of the instertes was doomed by the actions, but the other one could have been restored by doing Redo (Ctrl+Y) afterwards - "I changed my mind again, I do want it to be there"

Also another argument is that the previous placing of the previous ghosts is part of the undo action. Undo would mark inserter for deconstruction but would also put its ghosts at its place. So robot coming to deconstruct it would just rebuild it immediatelly (probably, don't know if job queueing works like this)
Post Reply

Return to “Not a bug”