The base game provides common collision mask functions in a Lua file in the core lualib.
struct
Dict<CollisionLayerID, true>falseEvery key in the dictionary is the name of one layer the object collides with. The value is meaningless and always true. An empty table means that no layers are set.
booleantrueAny two entities that both have this option enabled on their prototype and have an identical collision mask layers list will not collide. Other collision mask options are not included in the identical layer list check. This does mean that two different prototypes with the same collision mask layers and this option enabled will not collide.
booleantrueUses the prototypes position rather than its collision box when doing collision checks with tile prototypes. Allows the prototype to overlap colliding tiles up until its center point. This is only respected for character movement and cars driven by players.
booleantrueAny prototype with this collision option will only be checked for collision with other prototype's collision masks if they are a tile.