aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/mixin
diff options
context:
space:
mode:
authorLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2022-01-28 03:46:00 +0100
committerLifeIsAParadox <LifeIsAParadox@users.noreply.github.com>2022-01-28 03:46:00 +0100
commite0cefac2db16f10490c0c980686fafc6263ead9a (patch)
tree963d484eb60d238a992dca3fea0c7a4a5a18050a /src/main/java/me/xmrvizzy/skyblocker/mixin
parenta3b5cad38376be3da5674480ec60f4610b321671 (diff)
downloadSkyblocker-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.java20
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);
+
+ }
}
}