Learn about the button, color and keybind elements that can be used in a config.
Buttons
Common button
The button is a simple interaction that can trigger code when pressed. It's got both single and dual-column variants.
You can create your method to run when the button is pressed using the Runnable interface:
@Button(name="I'm a button",// name beside the buttontext="Click me!"// text on the button itself)Runnablerunnable=()->{// using a lambda to create the runnable interface.System.out.println("I was clicked!");FMLCommonHandler.instance().exitJava(69,false);}
Buttons with single and dual variant examples
Keybinds
OneConfig also offers keybinds that replace Minecraft's own keybind system. Basically, it's handled and stored by OneConfig, not the game. It's got both single and dual-column variants.
This config component uses OneKeyBind to store the keybinds.
To register an action when a keybind is activated, add the following to your constructor:
Keybind field examples, including recording state
Colors
The color option lets the user change any default color to their own, using a built-in color picker.
This config component uses OneColor to store the colors.
@KeyBind(
name = "I'm a keybind!"
)
// using OneKeyBind to set the default key combo to Shift+S
public static OneKeyBind keyBind = new OneKeyBind(UKeyboard.KEY_LSHIFT, UKeyboard.KEY_S);
public Config() {
registerKeyBind(keyBind, () -> System.out.println("Look mom, a keybind!"));
}
@Color(
name = "Background Color"
)
OneColor testColor = new OneColor(26, 35, 143); // default color