Suggested in the Discord, but raising here for clarity and sake of feature tracking!
Wiring!
Being able to add input/output "signals" to various blocks and/or entities, such that they could be connected and used to make an in-game logic system would be a very welcome addition for modders and in-game creations.
The idea is that you would have a "wiring mode" of some sort, that when enabled displays connection nodes on certain blocks (and some entities, e.g. moving platforms at some point?) as configured according to the mod that added that item.
There'd be three types of connection node that you, as the player, can then connect up on different blocks and/or entities to create pseudo-circuits and form a logic system with;
- OUTPUT NODES which the block controls, each transmits a signal to any input nodes connected by wires,
- INPUT NODES which outputs can be wired to, that when sent a signal will trigger the block/entity to "update" its state based on all of its inputs,
- ROUTE NODES which simply allow the player to direct the wires they place more precisely, though these could in theory be placed anywhere so would not be "attached" to a block per se, more just act like a stored position in the world space that wires may be visually "routed" through
The following examples, courtesy of Starbound, showcase a similar system whereby the player has a "wire tool" that they can equip to show and connect wires with, from objects in the world that have inputs and outputs;
![image-2](https://private-user-images.githubusercontent.com/1956556/253144744-77f98003-3727-4290-8a89-e12bd4e1cba6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3MDA3MzcsIm5iZiI6MTcyMTcwMDQzNywicGF0aCI6Ii8xOTU2NTU2LzI1MzE0NDc0NC03N2Y5ODAwMy0zNzI3LTQyOTAtOGE4OS1lMTJiZDRlMWNiYTYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyMyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjNUMDIwNzE3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YWE1N2I2ZjFlN2RhNDBkNDVmNjIxODY2ODBiYzExMzc1NzM0ZjVlOGRkMjk2MDlmZTlkZTZjNTJmZTQ0YWUyMyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.b132ZjUr651YVCJ5auQWhme3vS6p9J3lipCLhoAefYY)
In the image on the left - the player does not have their wire tool equipped, and so can only see the two buttons, the flip-flop logic gate object, and the red/green on-off indicator light at the top.
In the image on the right - the player equips their wire tool, therefore being able to see the output nodes on the two buttons, the wires connecting each one to the flip-flop switch's input nodes, the output node of the flip-flop and the wire connecting that in turn to the input node on the red/green indicator light.
Another set of examples, courtesy of Sebastian Lague's "Digital Logic Sim" application further show how the idea of a node-based graph type system can be expanded to form logic gates and advanced "chips" to make all kinds of virtual digital systems in this YouTube series;
https://youtube.com/playlist?list=PLFt_AvWsXl0dPhqVsKt1Ni_46ARyiCGSq
This example also shows the wires themselves visually indicating the value of the signal they last transmitted, turning a bright colour for an "on" state and returning to a dark colour for the "off" state.
Whether this system is implemented overall as a mod that other mods may require as a dependency, or if this is implemented as a key feature of the game's "engine" would be up for debate, but I think this could easily be a very useful addition to a community-driven creative game.
If implemented as a mod, it could be the case that when not included, other mods that rely on it will just fail to create wires and nodes to use - this could also allow the system to be replaced by another mod that, making use of the same connection logic, could expand upon the wire logic and transmit virtual power information (voltage, current, etc.) via the wires as well, allowing for more complex and "realistic" systems.
Equally, if the concepts of these types of "nodes" and "wires" are added to the engine itself, that could then be utilised by mods to set functionality of nodes and wires independently of one another; blocks & entities they or other mods add could send and recieve virtual "data packets" via wires, whether the internal logic of a given object specifically handles or interacts with said data packet would be irrelevant.