diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java new file mode 100644 index 000000000..5c5f13993 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java @@ -0,0 +1,35 @@ +package me.shedaniel.rei.mixin; + +import me.shedaniel.rei.listeners.IMixinKeyBinding; +import net.minecraft.client.settings.KeyBinding; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; + +import java.util.Map; + +@Mixin(KeyBinding.class) +public class MixinKeyBinding implements IMixinKeyBinding { + + @Shadow @Final private static Map<String, Integer> CATEGORY_ORDER; + + @Override + public boolean addCategory(String keyBindingCategory, int id) { + if (!CATEGORY_ORDER.containsKey(keyBindingCategory)) { + CATEGORY_ORDER.put(keyBindingCategory, id); + return true; + } + return false; + } + + @Override + public boolean addCategory(String keyBindingCategory) { + return addCategory(keyBindingCategory, CATEGORY_ORDER.size() + 1); + } + + @Override + public boolean hasCategory(String keyCategory) { + return CATEGORY_ORDER.containsKey(keyCategory); + } + +} |
