Page 1 of 1

tile-binding / requirement for placable entity

Posted: Mon Nov 26, 2018 11:27 pm
by theDirector
Hello, to me building an advanced machine on the dirt doesn't make sense. Efficient operation of the machine should require a solid foundation. Some entities such as the steam-engine, graphically, look like they can be placed in the sand because they are elevated off the ground via metal posts, but some entities are flush on the ground, such as assembly machines.

For example:
tier 1 assembler requires "stone-brick" tile on ground
tier 2 assembler requires "concrete" tile on ground
tier 3 assembler requires "refined-concrete" tile on ground

A new entity property can be created:
placeable_tile_required = {"tile 1", "tile 2", "tile 3"}

There has to be some existing scripting in existing types (for example miners) that check for ore tiles? For some reason I was not able to find this property.

Some options:
Can have the entity auto-place the tile underneath, and leave it up to the mod developer to include tile items in the actual recipe.
or
Mining the tile also removes the entity
Mining the entity leaves the tile(s) on the ground, or

I understand this has some design implications for the usability of adding/removing entities manually or via bots or tools, so this may not be a sure thing.

edit: grammar

Re: tile-binding / requirement for placable entity

Posted: Tue Nov 27, 2018 5:33 am
by darkfrei
You can add https://wiki.factorio.com/Types/CollisionMask layer-11 to all tiles except stone path, if am-1 has the layer-11 too, then it can be placed only on stone path.