[0.17.30] "not-colliding-with-itself" acts as global non colliding whitelist

Bugs that are actually features.
User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 283
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

[0.17.30] "not-colliding-with-itself" acts as global non colliding whitelist

Post by Muppet9010 »

In 0.17.30 the collision mask option "not-colliding-with-itself" has the behaviour of acting as a global whitelist of prototypes that don't collide with any other prototype with the flag. However the name implies that the prototype should only not collide with itself when it has this flag. Tested same behaviour in 16.51.
This has been questioned so raising for an official ruling :)

To test
  1. Modify the file: data\base\prototypes\entity\demo-entities.lua
  2. Set the collision mask for both the player.player and assembling-machine.assembling-machine-1 to:

    Code: Select all

    collision_mask = {"object-layer", "player-layer", "train-layer", "consider-tile-transitions", "not-colliding-with-itself"},
  3. Load a new game and via editor place an Assembly Machine 1 and 2 on the map
  4. return to play mode and your character can run through the Assembly Machine 1, but not the mk2 version.
User avatar
ownlyme
Filter Inserter
Filter Inserter
Posts: 445
Joined: Thu Dec 21, 2017 8:02 am
Contact:

Re: [0.17.30] "not-colliding-with-itself" acts as global non colliding whitelist

Post by ownlyme »

i'm pretty sure it's for buildings that consist of multiple sub-entities.
Like this you can simply give your entities (that all are placed in the same collision box) that flag and you won't have issues with blueprint ghosts etc.
Giving this flag to a moving entity was surely not intended
of course only the sub-entities would get this flag (and only this flag), and the main object (that you build) doesn't get it, so you can't build two of these buildings on top of each other

for me, this is 100% how i'd expect this flag to behave.. or actually even better because i thought it was just a normal collision mask that only works for *one* sub-entity, and not for multiple
creator of 55 mods
My api requests/suggestions: ui relative for overlay||Grenade arc||Player Modifiers||textbox::selection||Singleplayer RCON||disable car's ground sounds
User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5414
Joined: Sun Jan 11, 2015 2:09 pm
Contact:

Re: [0.17.30] "not-colliding-with-itself" acts as global non colliding whitelist

Post by Klonan »

Set the collision mask for both the player.player and assembling-machine.assembling-machine-1 to:
If both entities have the same collision mask, then its working as intended.
User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 283
Joined: Sat Dec 09, 2017 6:01 pm
Contact:

Re: [0.17.30] "not-colliding-with-itself" acts as global non colliding whitelist

Post by Muppet9010 »

thanks Klonan, you have clarified a point I had missed around the need of the entire collision mask list needing to be identical and not just having the same layer for the collision to not occur if both entities have this option flag.
Post Reply

Return to “Not a bug”