Page 1 of 1

Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 11:59 am
by reduke
So often when doing large constructions/deconstructions especially involving landfill I get a significant proportion of bots arriving too early and having to wait for a prior request to be completed, thereby significantly delaying the whole process.

Not sure what the best way to implement this is but I am thinking of something like construction order tiering:

Tier 1: Contents deconstruction requests
Tier 2: Entity Deconstruction requests
Tier 3: Non-landfill tile & items on ground deconstruction requests
Tier 4: Landfill deconstruction requests
Tier 5: Landfill construction requests
Tier 6: Entity construction requests
Tier 7: Non-landfill tile constructions requests

A free bot will query each tier for unfulfilled requests before going onto the next tier.

I am also thinking that this "may" have UPS benefits if I have interpreted the logic correctly - if not enough bots are available to query lower tiers then this should reduce the delay induced by bot assignment as some orders won't need to be checked...

Thoughts?

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 12:58 pm
by Rseding91
The tasks already won’t be assigned until another robot has been assigned to remove the entity on top.

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 1:19 pm
by reduke
How does this logic work for deconstructing full chests? I constantly have bots that could be helping to empty the chest trying to remove the chest itself...

In one example I have a line of chests that have been sitting there with contents being emptied for well over an hour. Each has its own bot hovering above it for the whole time.

It takes about 2 minutes for a bot to traverse my entire base, and about 1 minute round trip from these chests to my storage area. I definitely have enough roboports to prevent charging backlog.



I am presuming that as soon as the first robot is dispatched to remove contents, the deconstruction bot for the chest can then be dispatched - but please correct me if I am wrong here?

(Edit: I also have another line of chests to deconstruct nearby that are not on landfill with a removal request marked that do not have bots hovering - if I cancel and re-order the deconstruction requests on both areas, the bots only hover on the landfill chests...)
botshoevering.png
botshoevering.png (4.24 MiB) Viewed 254 times

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 1:27 pm
by reduke
Sorry for the double post, didn't want to keep re-editing.

I also have a line of train cars with contents, where the bots are hovering to remove the rails, but not hovering to remove the cars themselves - is it a case of nesting/depth/etc?

This is on the same timescale as the chests.
railhovering.png
railhovering.png (1.93 MiB) Viewed 252 times

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 1:28 pm
by Rseding91
The check does not try to account for items in chests. It simply requires: before the tile deconstruction is assigned that the entities that need to be removed are assigned to some existing robot.

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 1:35 pm
by reduke
Ok then I guess this suggestion should read something like: "Please don't dispatch robots to deconstruct non-empty objects or anything they're sitting on until the last items inside have robots assigned to them."

Bit wordy though...

Can the landfill/rail/etc removal request checks be made to iterate for dependent removal requests?

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 5:22 pm
by reduke
Just a heads up that I am going to post a bug for this as I have been able to consistently replicate construction bots being dispatched for landfill removal before the bot for removing the entity has been dispatched.

Re: Don't try to deconstruct landfill until any entities on top have been removed (and vice-versa)

Posted: Thu Feb 12, 2026 5:29 pm
by Rseding91
reduke wrote: Thu Feb 12, 2026 5:22 pm Just a heads up that I am going to post a bug for this as I have been able to consistently replicate construction bots being dispatched for landfill removal before the bot for removing the entity has been dispatched.
If you have a preproduction - by all means. Looking at the code and tests it shouldn't be possible (except in the case of a corpse which is intended to be removed when the tile is removed).