ShadMOrdre wrote:I honestly can't think of many mods, other than mods that expand, refine, or otherwise enhance the player experience aspect of the game, that actually could use more than a single action at a time I'm either opening a door, or using the furnace, or ...
I disagree. As things stand right now, adding new player actions is pretty much entitrely limited to using items and E. There are plenty of interesting actions that something like minetest
could have (air dashes, crawling, jetpacks, grabbing and climbing up onto a 2-node ledge... and those are just in-world actions), but the current systems dis-incentivize adding them because buttons are limited and adding more items will clutter the player's inventory.
And of course, games aren't necessarily constrained by the same actions as Minetest,
in theory. One of the reasons that they are in practice is the current handling of controls.
As a developer, I don't really see any technical hurdles to:
1. Letting mods define controls in a config file
2. Displaying controls from downloaded mods in the settings, so the player can rebind them
3. Marking any conflicts on that same page
4. Exposing an interface for receiving events based on the control ids
As far as I can tell, that's really all that's needed.
EDIT, just to build on this a little:
There are some other benefits over adding more action buttons that come from a flexible feature like this. First of all, there's no real guarantee that mod/game developers will collaborate well with binding usage. I could definitely see a future where conflicts between several mods that happened to pick the same keybind slot make this a nightmare, whereas something like what I talk about above fixes the issue easily (by letting the user rebind or unbind some actions). There's also the reverse, where two mods with similar actions choose
different keybind slots. That would also suck.
Second, I think a system where mods declare their bindings has a nice side-benefit: The engine can make mods provide a name for each action, which would improve the visibility of the keybinds (oh, there's a hotkey for opening inventory tab X?) and also make it clearer in the control settings what you're actually changing.
Even if all possible new actions added up to <5 keys, I'd argue that the UX benefits of registering those actions would be worth it alone