aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/mixin
diff options
context:
space:
mode:
authorSpencer <75862693+TacoMonkey11@users.noreply.github.com>2022-01-30 08:19:24 -0500
committerGitHub <noreply@github.com>2022-01-30 08:19:24 -0500
commit888b5f6fd90c29bf72877d4c5c7a038785179cf4 (patch)
tree4f5ed62ff8244e763f0643969090bdd4f25f2e80 /src/main/java/me/xmrvizzy/skyblocker/mixin
parent55261fe3faee6239081deae4252714d9a12651ca (diff)
parentc474866731e454fa6271e513dcde38b7ffe6c665 (diff)
downloadSkyblocker-888b5f6fd90c29bf72877d4c5c7a038785179cf4.tar.gz
Skyblocker-888b5f6fd90c29bf72877d4c5c7a038785179cf4.tar.bz2
Skyblocker-888b5f6fd90c29bf72877d4c5c7a038785179cf4.zip
Merge branch 'master' into master
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java17
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java14
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java27
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java14
4 files changed, 61 insertions, 11 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java
new file mode 100644
index 00000000..ea497b75
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenAccessor.java
@@ -0,0 +1,17 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+import net.minecraft.client.gui.screen.ingame.HandledScreen;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Accessor;
+
+@Mixin(HandledScreen.class)
+public interface HandledScreenAccessor {
+ @Accessor
+ int getX();
+ @Accessor
+ int getY();
+ @Accessor
+ int getBackgroundWidth();
+ @Accessor
+ int getBackgroundHeight();
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
index 96711158..d676dc25 100644
--- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java
@@ -18,6 +18,7 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
import java.util.List;
@Mixin(HandledScreen.class)
@@ -33,19 +34,10 @@ public abstract class HandledScreenMixin extends Screen {
@Inject(method = "init()V", at = @At("TAIL"))
private void init(CallbackInfo ci) {
- 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);
+ String screenTitle = super.getTitle().getString().trim();
+ List<QuickNavButton> buttons = QuickNav.init(screenTitle);
for (QuickNavButton button : buttons) super.addDrawableChild(button);
}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
new file mode 100644
index 00000000..fcdbf706
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java
@@ -0,0 +1,27 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+import me.xmrvizzy.skyblocker.config.SkyblockerConfig;
+import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget;
+import me.xmrvizzy.skyblocker.utils.Utils;
+import net.minecraft.client.gui.screen.ingame.InventoryScreen;
+import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Redirect;
+
+@Mixin(InventoryScreen.class)
+public class InventoryScreenMixin {
+ @Redirect(
+ method = "",
+ at = @At(
+ value = "NEW",
+ target = "net/minecraft/client/gui/screen/recipebook/RecipeBookWidget"
+ )
+ )
+ RecipeBookWidget constructor() {
+ if (Utils.isSkyblock && SkyblockerConfig.get().general.itemList.enableItemList)
+ return new ItemListWidget();
+ else
+ return new RecipeBookWidget();
+ }
+}
diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java
new file mode 100644
index 00000000..808b2950
--- /dev/null
+++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java
@@ -0,0 +1,14 @@
+package me.xmrvizzy.skyblocker.mixin;
+
+import net.minecraft.client.gui.screen.recipebook.RecipeBookWidget;
+import net.minecraft.client.gui.widget.TextFieldWidget;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Accessor;
+
+@Mixin(RecipeBookWidget.class)
+public interface RecipeBookWidgetAccessor {
+ @Accessor
+ String getSearchText();
+ @Accessor
+ TextFieldWidget getSearchField();
+}