]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/client/MixinGameSettings.java
1.18.2-rc1
[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
19     @Shadow
20     public abstract void load();
21
22     @Mutable
23     @Shadow @Final public KeyBinding[] allKeys;
24
25     @Inject(method = "<init>", at = @At("RETURN"))
26     private void init(CallbackInfo ci) {
27         ClientProxy.registerKeyBindings();
28         allKeys = ArrayUtils.addAll(allKeys, KeyListener.keyBindings());
29         this.load();
30     }
31 }