shedaniel 5 years ago
parent
commit
08677d68ae

+ 1 - 1
gradle.properties

@@ -2,6 +2,6 @@ minecraft_version=1.15
 yarn_version=1.15+build.1
 fabric_loader_version=0.7.2+build.174
 fabric_version=0.4.20+build.273-1.15
-mod_version=2.6.3
+mod_version=2.6.4
 modmenu_version=1.7.14-unstable.19w42a+build.10
 nec_version=1.1.5+1.15.1

+ 3 - 2
src/main/java/me/shedaniel/clothconfig2/api/FakeModifierKeyCodeAdder.java

@@ -5,13 +5,14 @@ import net.minecraft.client.options.KeyBinding;
 
 import java.util.List;
 import java.util.function.Consumer;
+import java.util.function.Supplier;
 
 public interface FakeModifierKeyCodeAdder {
     FakeModifierKeyCodeAdder INSTANCE = new FakeModifierKeyCodeAdderImpl();
     
-    void registerModifierKeyCode(String category, String translationKey, ModifierKeyCode keyCode, ModifierKeyCode defaultKeyCode, Consumer<ModifierKeyCode> onChanged);
+    void registerModifierKeyCode(String category, String translationKey, Supplier<ModifierKeyCode> keyCode, Supplier<ModifierKeyCode> defaultKeyCode, Consumer<ModifierKeyCode> onChanged);
     
-    default void registerModifierKeyCode(String category, String translationKey, ModifierKeyCode keyCode, Consumer<ModifierKeyCode> onChanged) {
+    default void registerModifierKeyCode(String category, String translationKey, Supplier<ModifierKeyCode> keyCode, Consumer<ModifierKeyCode> onChanged) {
         registerModifierKeyCode(category, translationKey, keyCode, keyCode, onChanged);
     }
     

+ 1 - 2
src/main/java/me/shedaniel/clothconfig2/impl/FakeKeyBindings.java

@@ -1,7 +1,6 @@
 package me.shedaniel.clothconfig2.impl;
 
 import me.shedaniel.clothconfig2.api.ModifierKeyCode;
-import net.fabricmc.fabric.mixin.client.keybinding.KeyCodeAccessor;
 import net.minecraft.client.options.KeyBinding;
 import net.minecraft.client.util.InputUtil;
 
@@ -36,7 +35,7 @@ public class FakeKeyBindings extends KeyBinding {
     
     @Override
     public boolean equals(KeyBinding keyBinding_1) {
-        return keyCode.getKeyCode().equals(((KeyCodeAccessor) keyBinding_1).getKeyCode());
+        return false;
     }
     
     @Override

+ 7 - 6
src/main/java/me/shedaniel/clothconfig2/impl/FakeModifierKeyCodeAdderImpl.java

@@ -1,18 +1,19 @@
 package me.shedaniel.clothconfig2.impl;
 
-import me.shedaniel.clothconfig2.api.ModifierKeyCode;
 import me.shedaniel.clothconfig2.api.FakeModifierKeyCodeAdder;
+import me.shedaniel.clothconfig2.api.ModifierKeyCode;
 import net.minecraft.client.options.KeyBinding;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.function.Consumer;
+import java.util.function.Supplier;
 
 public class FakeModifierKeyCodeAdderImpl implements FakeModifierKeyCodeAdder {
     private List<Entry> entryList = new ArrayList<>();
     
     @Override
-    public void registerModifierKeyCode(String category, String translationKey, ModifierKeyCode keyCode, ModifierKeyCode defaultKeyCode, Consumer<ModifierKeyCode> onChanged) {
+    public void registerModifierKeyCode(String category, String translationKey, Supplier<ModifierKeyCode> keyCode, Supplier<ModifierKeyCode> defaultKeyCode, Consumer<ModifierKeyCode> onChanged) {
         entryList.add(new Entry(category, translationKey, keyCode, defaultKeyCode, onChanged));
     }
     
@@ -20,7 +21,7 @@ public class FakeModifierKeyCodeAdderImpl implements FakeModifierKeyCodeAdder {
     public List<KeyBinding> getFakeBindings() {
         List<KeyBinding> keyBindings = new ArrayList<>();
         for (Entry entry : entryList) {
-            keyBindings.add(new FakeKeyBindings(entry.translationKey, entry.keyCode, entry.defaultKeyCode, entry.category, entry.onChanged));
+            keyBindings.add(new FakeKeyBindings(entry.translationKey, entry.keyCode.get(), entry.defaultKeyCode.get(), entry.category, entry.onChanged));
         }
         return keyBindings;
     }
@@ -28,11 +29,11 @@ public class FakeModifierKeyCodeAdderImpl implements FakeModifierKeyCodeAdder {
     private class Entry {
         private String category;
         private String translationKey;
-        private ModifierKeyCode keyCode;
-        private ModifierKeyCode defaultKeyCode;
+        private Supplier<ModifierKeyCode> keyCode;
+        private Supplier<ModifierKeyCode> defaultKeyCode;
         private Consumer<ModifierKeyCode> onChanged;
         
-        private Entry(String category, String translationKey, ModifierKeyCode keyCode, ModifierKeyCode defaultKeyCode, Consumer<ModifierKeyCode> onChanged) {
+        private Entry(String category, String translationKey, Supplier<ModifierKeyCode> keyCode, Supplier<ModifierKeyCode> defaultKeyCode, Consumer<ModifierKeyCode> onChanged) {
             this.category = category;
             this.translationKey = translationKey;
             this.keyCode = keyCode;