aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/mixin/MixinKeyBinding.java
blob: 5c5f1399314fd7f66aed8297a832c14060771a3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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);
    }
    
}