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

Bugs that are actually features.
Post Reply
User avatar
Muppet9010
Filter Inserter
Filter Inserter
Posts: 278
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: 400
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
mods.factorio.com/user/ownlyme
My requests: uiAbove||Grenade arc||Blueprint allies||Creeps forget command/ don't get removed||Player Modifiers||textbox::selection||Better Heat IF||Singleplayer RCON||tank bug w/ min_range >= projectile_creation_distance

User avatar
Klonan
Factorio Staff
Factorio Staff
Posts: 5150
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: 278
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”