PatchworkMC / patchwork-api

An attempt to reimplement the Minecraft Forge API on Fabric
GNU Lesser General Public License v2.1
282 stars 48 forks source link

Add support for keybindings #154

Closed snakefangox closed 4 years ago

snakefangox commented 4 years ago

This PR adds a new module to allow patchwork to support keybindings, this will prevent mods that use forge's special handling from crashing however it does not completely implement this special handling. The two additions in question are conflict handling and modifier key support. Because forge uses the default KeyBinding methods for this behavior this shouldn't cause any issues. I can make a follow up PR to add the complete API but these methods are not commonly used to begin with and I suspect this might be all that is needed. Additionally this method allows fabric mods that add these functions to support Patchwork mods.

I'm not sure about Patchwork naming conventions so better names are welcome.

This requires a Patcher PR, namely https://github.com/PatchworkMC/patchwork-patcher/pull/67.

snakefangox commented 4 years ago

Have added some of the functionality. Namely that forge allows you to categorize key binds so they only fire in certain situations and not respecting that may have some weird side effects like jetpack mods working with your inventory open. Don't think it's too big a deal but it's a tiny change, sorry if this is bad form.