Skip to content

Commit d82f405

Browse files
committed
Add named bindings to control descriptions (closes #343)
1 parent ce3d738 commit d82f405

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/main/java/dev/isxander/controlify/gui/screen/ControllerConfigScreenFactory.java

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import dev.isxander.controlify.controller.gyro.GyroYawMode;
1313
import dev.isxander.controlify.controller.input.DeadzoneGroup;
1414
import dev.isxander.controlify.controller.input.InputComponent;
15+
import dev.isxander.controlify.controller.input.Inputs;
1516
import dev.isxander.controlify.controller.rumble.RumbleComponent;
1617
import dev.isxander.controlify.gui.controllers.BindController;
1718
import dev.isxander.controlify.gui.controllers.Deadzone2DImageRenderer;
@@ -670,7 +671,29 @@ private static Option.Builder<Input> createBindingOpt(InputBindingSupplier bindi
670671
private static Option.Builder<Input> createBindingOpt(InputBinding binding, ControllerEntity controller) {
671672
return Option.<Input>createBuilder()
672673
.name(binding.name())
673-
.description(OptionDescription.of(binding.description()))
674+
.description(v -> OptionDescription.createBuilder()
675+
.text(binding.description())
676+
.text(Component.translatable("controlify.gui.bind.currently_bound_to",
677+
Component.empty()
678+
.append(Controlify.instance().inputFontMapper().getComponentFromInputs(
679+
controller.info().type().namespace(),
680+
v.getRelevantInputs()
681+
))
682+
.append(CommonComponents.SPACE)
683+
.append(Inputs.getInputComponentAnd(v.getRelevantInputs()))
684+
))
685+
.text(v.equals(binding.defaultInput()) ? Component.empty() : Component.translatable("controlify.gui.bind.default_bound_to",
686+
Component.empty()
687+
.append(Controlify.instance().inputFontMapper().getComponentFromInputs(
688+
controller.info().type().namespace(),
689+
binding.defaultInput().getRelevantInputs()
690+
))
691+
.append(CommonComponents.SPACE)
692+
.append(Inputs.getInputComponentAnd(
693+
binding.defaultInput().getRelevantInputs()
694+
))
695+
))
696+
.build())
674697
.binding(EmptyInput.INSTANCE, binding::boundInput, binding::setBoundInput)
675698
.customController(opt -> new BindController(opt, controller));
676699
}

src/main/resources/assets/controlify/lang/en_us.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@
161161
"controlify.gui.reset_all_binds": "Reset All Binds",
162162
"controlify.gui.reset_all_binds.tooltip": "Sets all binds to their default values. This can be undone by pressing the undo button.",
163163
"controlify.gui.bind_input_awaiting": "Press any button",
164-
164+
"controlify.gui.bind.currently_bound_to": "Currently bound to %s",
165+
"controlify.gui.bind.default_bound_to": "Default bound to %s",
165166
"controlify.gui.format.ticks": "%s ticks",
166167
"controlify.gui.format.hold_toggle.hold": "Hold",
167168
"controlify.gui.format.hold_toggle.toggle": "Toggle",

0 commit comments

Comments
 (0)