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