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