Page 1 of 1

[16.16] Vehicle clipping

Posted: Sun Jan 14, 2018 12:25 am
by ASDFGerte
TL;DR; vehicles can be clipped into other entities' tiles and get checked first for inserters' output (apparently not always for input, just sometimes). Some bounding boxes make for quite hilarious "features".

This has been around for quite some time, don't know if anyone posted it before and it has been made a "won't fix" or something. At least I never saw anyone post it. I didn't post this for a while as it can be useful here and there and I wasn't sure if I want it fixed. With all the belts vs bots discussion I figured properly balancing things is a better direction.

Following are some examples of said "features":
Inserting into other entities
long stack inserter
long long inserter
known side effect
One could post more and more of these (e.g. i once made a circuit that looks at in- and outgoing inserters to cars and therefore knows the cars' contents. That means you cycle through materials on filter inserters properly and therefore can make insane sushi-"belts"). I guess the few examples show the core idea.

_______________________

Off topic: shameless promotion of this, this and my own posts about bots vs belts

Re: [16.16] Vehicle clipping

Posted: Sun Jan 14, 2018 12:40 am
by Loewchen
I don't understand, do you think inserters putting items in a cars trunk is a bug?

Re: [16.16] Vehicle clipping

Posted: Sun Jan 14, 2018 12:46 am
by ASDFGerte
Loewchen wrote:I don't understand, do you think inserters putting items in a cars trunk is a bug?
If the tile they are directed towards is e.g. occupied by a beacon, yes. It essentially stacks the car as a chest into the beacon tile. If not, happy car factory building!

Re: [16.16] Vehicle clipping

Posted: Sun Jan 14, 2018 1:15 am
by Rseding91
Thanks for the report.

If you turn on the collision box debug option you can see the the beacon doesn't fill the entire set of tile(s) it sits on. When you place the car it fills in the rest of the tile space with its collision box.

https://i.imgur.com/pRQRKpp.png

And finally the inserter iterates the entities on the tile it wants to use in the reverse order they're placed on that tile. That means the car comes last so it's found first and the inserter puts things into it.

This is such an edge case and changing it would have performance implications that I don't consider it worth changing.