Skip to content

Commit

Permalink
Add an extension to KeyMapping to customise the display name (#1849)
Browse files Browse the repository at this point in the history
  • Loading branch information
Matyrobbrt authored Jan 13, 2025
1 parent a8227e7 commit cad0008
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
--- a/net/minecraft/client/gui/screens/options/controls/KeyBindsList.java
+++ b/net/minecraft/client/gui/screens/options/controls/KeyBindsList.java
@@ -45,7 +_,7 @@
this.addEntry(new KeyBindsList.CategoryEntry(Component.translatable(s1)));
}

- Component component = Component.translatable(keymapping.getName());
+ Component component = keymapping.getDisplayName();
int i = p_346132_.font.width(component);
if (i > this.maxNameWidth) {
this.maxNameWidth = i;
@@ -158,6 +_,7 @@
)
.build();
Expand All @@ -8,7 +17,7 @@
KeyBindsList.this.minecraft.options.setKey(p_345998_, p_345998_.getDefaultKey());
KeyBindsList.this.resetMappingAndUpdateButtons();
}).bounds(0, 0, 50, 20).createNarration(p_344899_ -> Component.translatable("narrator.controls.reset", p_345196_)).build();
@@ -210,7 +_,7 @@
@@ -210,13 +_,13 @@
MutableComponent mutablecomponent = Component.empty();
if (!this.key.isUnbound()) {
for (KeyMapping keymapping : KeyBindsList.this.minecraft.options.keyMappings) {
Expand All @@ -17,3 +26,10 @@
if (this.hasCollision) {
mutablecomponent.append(", ");
}

this.hasCollision = true;
- mutablecomponent.append(Component.translatable(keymapping.getName()));
+ mutablecomponent.append(keymapping.getDisplayName());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import com.mojang.blaze3d.platform.InputConstants;
import net.minecraft.client.KeyMapping;
import net.minecraft.network.chat.Component;
import net.neoforged.neoforge.client.settings.IKeyConflictContext;
import net.neoforged.neoforge.client.settings.KeyModifier;

Expand Down Expand Up @@ -56,4 +57,12 @@ default boolean hasKeyModifierConflict(KeyMapping other) {
}
return false;
}

/**
* {@return the display name of this key mapping}
* Defaults to a {@linkplain Component#translatable(String) translatable component} of the {@link KeyMapping#getName() name}.
*/
default Component getDisplayName() {
return Component.translatable(self().getName());
}
}

0 comments on commit cad0008

Please sign in to comment.