]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/client/settings/MixinGameSettings.java
463d4c9ad115881eacb21359098c77ba5c8af186
[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.Mixin;
10 import org.spongepowered.asm.mixin.Shadow;
11 import org.spongepowered.asm.mixin.injection.At;
12 import org.spongepowered.asm.mixin.injection.Inject;
13 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
14
15 import java.io.File;
16
17 @Mixin(GameSettings.class)
18 public abstract class MixinGameSettings {
19     @Shadow
20     public KeyBinding[] keyBindings;
21
22     @Shadow
23     public abstract void loadOptions();
24
25     @Inject(method = "<init>(Lnet/minecraft/client/Minecraft;Ljava/io/File;)V", at = @At("RETURN"))
26     private void init(Minecraft minecraft, File file, CallbackInfo ci) {
27         ClientProxy.registerKeyBindings();
28         keyBindings = ArrayUtils.addAll(keyBindings, KeyListener.keyBindings());
29         this.loadOptions();
30     }
31 }