diff --git a/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/api/client/keybinding/v1/KeyBindingHelper.java b/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/api/client/keybinding/v1/KeyBindingHelper.java index 9569774f2..e87b50ff1 100644 --- a/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/api/client/keybinding/v1/KeyBindingHelper.java +++ b/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/api/client/keybinding/v1/KeyBindingHelper.java @@ -16,6 +16,8 @@ package net.fabricmc.fabric.api.client.keybinding.v1; +import java.util.Objects; + import net.minecraft.client.option.KeyBinding; import net.minecraft.client.util.InputUtil; @@ -23,14 +25,15 @@ import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl; import net.fabricmc.fabric.mixin.client.keybinding.KeyBindingAccessor; /** - * Helper for registering key bindings. - * - *
Helper class for {@link KeyBinding} for use by Fabric mods.
+ * Helper for registering {@link KeyBinding}s. * *{@code * KeyBinding left = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.example.left", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_P, "key.category.example")); * KeyBinding right = KeyBindingHelper.registerKeyBinding(new KeyBinding("key.example.right", InputUtil.Type.KEYSYM, GLFW.GLFW_KEY_U, "key.category.example")); * }+ * + * @see KeyBinding + * @see net.minecraft.client.option.StickyKeyBinding */ public final class KeyBindingHelper { private KeyBindingHelper() { @@ -41,8 +44,10 @@ public final class KeyBindingHelper { * * @param keyBinding the keybinding * @return the keybinding itself + * @throws IllegalArgumentException when a key binding with the same ID is already registered */ public static KeyBinding registerKeyBinding(KeyBinding keyBinding) { + Objects.requireNonNull(keyBinding, "key binding cannot be null"); return KeyBindingRegistryImpl.registerKeyBinding(keyBinding); } diff --git a/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/impl/client/keybinding/KeyBindingRegistryImpl.java b/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/impl/client/keybinding/KeyBindingRegistryImpl.java index 55b37f5c2..0a0c09bc6 100644 --- a/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/impl/client/keybinding/KeyBindingRegistryImpl.java +++ b/fabric-key-binding-api-v1/src/client/java/net/fabricmc/fabric/impl/client/keybinding/KeyBindingRegistryImpl.java @@ -28,7 +28,7 @@ import net.minecraft.client.option.KeyBinding; import net.fabricmc.fabric.mixin.client.keybinding.KeyBindingAccessor; public final class KeyBindingRegistryImpl { - private static final List