diff options
author | Spencer <75862693+TacoMonkey11@users.noreply.github.com> | 2022-01-30 08:19:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-30 08:19:24 -0500 |
commit | 888b5f6fd90c29bf72877d4c5c7a038785179cf4 (patch) | |
tree | 4f5ed62ff8244e763f0643969090bdd4f25f2e80 /src/main/java/me/xmrvizzy/skyblocker/mixin | |
parent | 55261fe3faee6239081deae4252714d9a12651ca (diff) | |
parent | c474866731e454fa6271e513dcde38b7ffe6c665 (diff) | |
download | Skyblocker-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')
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(); +} |