diff options
author | LifeIsAParadox <LifeIsAParadox@users.noreply.github.com> | 2022-01-28 03:46:00 +0100 |
---|---|---|
committer | LifeIsAParadox <LifeIsAParadox@users.noreply.github.com> | 2022-01-28 03:46:00 +0100 |
commit | e0cefac2db16f10490c0c980686fafc6263ead9a (patch) | |
tree | 963d484eb60d238a992dca3fea0c7a4a5a18050a /src/main/java/me/xmrvizzy/skyblocker/mixin | |
parent | a3b5cad38376be3da5674480ec60f4610b321671 (diff) | |
download | Skyblocker-e0cefac2db16f10490c0c980686fafc6263ead9a.tar.gz Skyblocker-e0cefac2db16f10490c0c980686fafc6263ead9a.tar.bz2 Skyblocker-e0cefac2db16f10490c0c980686fafc6263ead9a.zip |
implementing KonaeAkira quicknav
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java index 0ed976f3..ef1f99fa 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java @@ -2,17 +2,24 @@ package me.xmrvizzy.skyblocker.mixin; import me.xmrvizzy.skyblocker.config.SkyblockerConfig; import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget; +import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNav; +import me.xmrvizzy.skyblocker.skyblock.quicknav.QuickNavButton; import me.xmrvizzy.skyblocker.utils.Utils; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; import net.minecraft.text.Text; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import java.util.List; @Mixin(HandledScreen.class) public abstract class HandledScreenMixin extends Screen { + @Shadow protected int backgroundWidth; + @Shadow protected int backgroundHeight; + protected HandledScreenMixin(Text title) { super(title); } @@ -22,5 +29,18 @@ public abstract class HandledScreenMixin extends Screen { if (Utils.isSkyblock && SkyblockerConfig.get().general.itemList.enableItemList) { super.addDrawableChild(new ItemListWidget((HandledScreen)(Object)this)); } + + // quicknav + if (Utils.isSkyblock && SkyblockerConfig.get().general.quicknav.enableQuicknav) { + String title = super.getTitle().getString().trim(); + int left_x = (super.width - this.backgroundWidth) / 2 + 4; + int right_x = (super.width + this.backgroundWidth) / 2 - 3; + int top_y = (super.height - this.backgroundHeight) / 2 - 28; + int bottom_y = (super.height + this.backgroundHeight) / 2 - 4; + if (this.backgroundHeight > 166) --bottom_y; // why is this even a thing + List<QuickNavButton> buttons = QuickNav.init(title, left_x, right_x, top_y, bottom_y); + for (QuickNavButton button : buttons) super.addDrawableChild(button); + + } } } |