Types/CollisionMask: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(note on empty table)
(Removed old prototype docs)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
The collision mask is specified as an Array ([[Types/table]]) of strings. Every entry is a specification of one layer the object collides with or a special collision option.
<div class="stub"><p>'''The prototype docs have moved to a new website with an improved format.''' This documentation page can now be found here: [https://lua-api.factorio.com/latest/types/CollisionMask.html https://lua-api.factorio.com/latest/types/CollisionMask.html]


Supplying an empty table means that no layers and no collision options are set.
</p><p>This wiki page is no longer updated and '''will be removed at some point in the future''', so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback [https://forums.factorio.com/viewforum.php?f=233 on the forums].</p></div>
 
== Layers ==
* ground-tile
* water-tile
* resource-layer
* doodad-layer
* floor-layer
* item-layer
* ghost-layer
* object-layer
* player-layer
* train-layer
* layer-11
* layer-12
* layer-13
* layer-14
* layer-15
 
Layer-11 through layer-15 are currently unused by the core game.
 
== Collision options ==
These are not collision masks, instead they control other aspects of collision, but they are still specified here.
=== "not-colliding-with-itself" ===
Any 2 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 2 different prototypes with the same collision mask layers and this option enabled will not collide.
 
=== "consider-tile-transitions" ===
 
Uses 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.
 
=== "colliding-with-tiles-only" ===
Any prototype with this collision option will only be checked for collision with other prototype's collision masks if they are a tile.
 
== Default collision masks ==
The default collision masks of all entity types can be found [[Prototype/Entity#collision_mask|here]].
 
Example (Most common collision mask of buildings):
<syntaxhighlight lang="lua">collision_mask = { "item-layer", "object-layer", "player-layer", "water-tile"}</syntaxhighlight>

Latest revision as of 14:32, 25 October 2024

The prototype docs have moved to a new website with an improved format. This documentation page can now be found here: https://lua-api.factorio.com/latest/types/CollisionMask.html

This wiki page is no longer updated and will be removed at some point in the future, so please update your browser bookmarks or other links that sent you here. If you'd like to contribute to the new docs, you can leave your feedback on the forums.