]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/client/MixinGameSettings.java
fc3691a7d7718635c9d0b310eb0c1e371aa469f2
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / client / MixinGameSettings.java
1 package com.irtimaled.bbor.mixin.client;
2
3 import com.irtimaled.bbor.client.ClientProxy;
4 import com.irtimaled.bbor.client.keyboard.KeyListener;
5 import net.minecraft.client.option.GameOptions;
6 import net.minecraft.client.option.KeyBinding;
7 import org.apache.commons.lang3.ArrayUtils;
8 import org.spongepowered.asm.mixin.Final;
9 import org.spongepowered.asm.mixin.Mixin;
10 import org.spongepowered.asm.mixin.Mutable;
11 import org.spongepowered.asm.mixin.Shadow;
12 import org.spongepowered.asm.mixin.injection.At;
13 import org.spongepowered.asm.mixin.injection.Inject;
14 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
15
16 @Mixin(GameOptions.class)
17 public abstract class MixinGameSettings {
18     @Mutable
19     @Final
20     @Shadow
21     public KeyBinding[] keysAll;
22
23     @Shadow
24     public abstract void load();
25
26     @Inject(method = "<init>", at = @At("RETURN"))
27     private void init(CallbackInfo ci) {
28         ClientProxy.registerKeyBindings();
29         keysAll = ArrayUtils.addAll(keysAll, KeyListener.keyBindings());
30         this.load();
31     }
32 }