Programable Block Inputs
For players that are not familiar w/ programming/scripting it can be quite daunting to go in an edit a script to change variables. Script authors provide helpful comments and guides on Steam but none the less "go to line 123123 and edit..." or "find numberOfPistons and..." is quite off putting.
Even using "arguments" or "Custom Data" is pretty kludgey and probably discourages use.
Script authors should be able to declare inputs that go on the control panel of the programming block just like anything else. Nothing fancy, think HTML style inputs.
Text - Just text to input, perhaps min/max length
Integer - Accepts and integer value w/ min/max bounds
Float - Accepts a float value w/ min/max bounds
Block Select - Lets the user select a specific block, the programmer should be able to specify which type of blocks. For example an "Ore Container" input might be limited to selecting from cargo containers.
Group Select - Similar to block but for selecting a group, again w/ requirement that a group contain all of the same block.
Object Select - Like the select box on the sorter.
Boolean - On off, true false, enable disable. Perhaps subclasses of TrueFalse OnOff EnableDisable or give the programmer the ability to set display text for the true/false values.
Since PBs are full C# scripts the script authors could actually provide their own validators. But it would be nice to have some canned options for common things.
Even better, this would go nicely with Visual Programming. These would just be "input" "blocks" or "elements", whatever terminology is used by a particular visual language.