shedaniel 5 anni fa
parent
commit
7246f7084f

+ 1 - 1
gradle.properties

@@ -2,5 +2,5 @@ minecraft_version=1.15-pre6
 yarn_version=1.15-pre6+build.1
 fabric_loader_version=0.7.2+build.174
 fabric_version=0.4.20+build.273-1.15
-mod_version=2.5
+mod_version=2.5.1
 modmenu_version=1.7.14-unstable.19w42a+build.10

+ 6 - 1
src/main/java/me/shedaniel/clothconfig2/api/ConfigEntryBuilder.java

@@ -7,6 +7,7 @@ import me.shedaniel.clothconfig2.impl.ConfigEntryBuilderImpl;
 import me.shedaniel.clothconfig2.impl.builders.*;
 import me.shedaniel.clothconfig2.impl.builders.DropdownMenuBuilder.TopCellElementBuilder;
 import net.fabricmc.fabric.mixin.client.keybinding.KeyCodeAccessor;
+import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.options.KeyBinding;
 import net.minecraft.client.util.InputUtil;
 
@@ -64,7 +65,11 @@ public interface ConfigEntryBuilder {
     KeyCodeBuilder startKeyCodeField(String fieldNameKey, InputUtil.KeyCode value);
     
     default KeyCodeBuilder fillKeybindingField(String fieldNameKey, KeyBinding value) {
-        return startKeyCodeField(fieldNameKey, ((KeyCodeAccessor) value).getKeyCode()).setDefaultValue(value.getDefaultKeyCode());
+        return startKeyCodeField(fieldNameKey, ((KeyCodeAccessor) value).getKeyCode()).setDefaultValue(value.getDefaultKeyCode()).setSaveConsumer(code -> {
+            value.setKeyCode(code);
+            KeyBinding.updateKeysByCode();
+            MinecraftClient.getInstance().options.write();
+        });
     }
     
     <T> DropdownMenuBuilder<T> startDropdownMenu(String fieldNameKey, SelectionTopCellElement<T> topCellElement, SelectionCellCreator<T> cellCreator);