TL;DR
Linked-belt would link two belt-lines wherever there are (could be on two different surfaces).What ?
Linked-belt would link two belt-lines and merge them into one belt-line wherever the links are, they can be really far appart or on two different surfaces.Linked-belt would be displayed like special underground belts.
Linked-belt would be configured like linked-container.
Linked-belt would already be protected against reconfiguration with the entity.operable=false
If speed is not defined in linked-belt prototype,
Linked-belt output would set his speed depending of belt_neighbors,
Linked-belt input would set his speed depending of sibling linked-belt,
Because mods like Factorissimo shouldn't search for existing linked-belt or declare new linked-belt depending of existing belts to match speed of existing belts,
but mods like Beltlayer could directly use the linked-belt as placeable by the player to replace the underground belts
Linked-belt would stop working if linked to no sibling.
Linked-belt would stop working if linked to more than one sibling.
Linked-belt would stop working if no belt is connected on the linked-belt sibling.
Linked-belt would display a "closed door" if it's not working
Linked-belt would not allow sideloading input in the same way input dloader-1x1 works.
Lua-Api should permit to probe :
- with LuaEntity.link_id to read and write link id
- with LuaEntity.neighbours to get an array of all siblings connected on it, working or not
- have the list of entities, associated with a link_id
Some more ?
Optionally, a feature could be added to have a sideload parameter in the linked-belt prototype:- sideload=0 : no sideload (by default)
- sideload=1 : sideload like underground belts on one line only
- sideload=2 : sideload like straight belt on two lines
- sideload=3 : sideload like a belt (can be curved exactly like a belt)