]> git.lizzy.rs Git - BoundingBoxOutlineReloaded.git/blob - src/main/java/com/irtimaled/bbor/mixin/client/gui/screen/MixinOptionsScreen.java
7bd6c52cd0695705f1ad3486ba86c00efd5efa03
[BoundingBoxOutlineReloaded.git] / src / main / java / com / irtimaled / bbor / mixin / client / gui / screen / MixinOptionsScreen.java
1 package com.irtimaled.bbor.mixin.client.gui.screen;
2
3 import com.irtimaled.bbor.client.gui.SettingsScreenButton;
4 import net.minecraft.client.gui.screen.Screen;
5 import net.minecraft.client.gui.screen.SettingsScreen;
6 import net.minecraft.client.gui.widget.AbstractButtonWidget;
7 import org.spongepowered.asm.mixin.Mixin;
8 import org.spongepowered.asm.mixin.injection.At;
9 import org.spongepowered.asm.mixin.injection.Inject;
10 import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
11
12 @Mixin(SettingsScreen.class)
13 public class MixinOptionsScreen extends Screen {
14     private MixinOptionsScreen() {
15         super(null);
16     }
17
18     @Inject(method = "init", at = @At("RETURN"))
19     private void initGui(CallbackInfo ci) {
20         //shuffle middle buttons up by 12 px to make space
21         int top = this.height / 6 + 42;
22         int bottom = this.height / 6 + 168;
23         for (AbstractButtonWidget button : buttons) {
24             if (button.y >= top && button.y < bottom)
25                 button.y -= 12;
26         }
27         SettingsScreenButton button = new SettingsScreenButton(this.width / 2 - 155, top + 84, 150, "BBOR", this);
28         this.buttons.add(this.buttons.size() - 1, button);
29         this.children.add(this.children.size() - 1, button);
30     }
31 }