1 package com.irtimaled.bbor.mixin.client.settings;
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;
17 @Mixin(GameSettings.class)
18 public abstract class MixinGameSettings {
20 public KeyBinding[] keyBindings;
23 public abstract void loadOptions();
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());