From 1b1d968d3d4248d9b7b943ab46656b3cc0a6e0c9 Mon Sep 17 00:00:00 2001 From: KonaeAkira Date: Fri, 28 Jan 2022 15:53:12 +0100 Subject: Made item list use the vanilla recipe book --- .../skyblocker/mixin/HandledScreenMixin.java | 26 ---------------------- .../skyblocker/mixin/InventoryScreenMixin.java | 22 ++++++++++++++++++ .../skyblocker/mixin/RecipeBookWidgetAccessor.java | 16 +++++++++++++ 3 files changed, 38 insertions(+), 26 deletions(-) delete mode 100644 src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java create mode 100644 src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java create mode 100644 src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/mixin') diff --git a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java b/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java deleted file mode 100644 index 0ed976f3..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/mixin/HandledScreenMixin.java +++ /dev/null @@ -1,26 +0,0 @@ -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.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.injection.At; -import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; - -@Mixin(HandledScreen.class) -public abstract class HandledScreenMixin extends Screen { - protected HandledScreenMixin(Text title) { - super(title); - } - - @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)); - } - } -} 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..c6c892a0 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/InventoryScreenMixin.java @@ -0,0 +1,22 @@ +package me.xmrvizzy.skyblocker.mixin; + +import me.xmrvizzy.skyblocker.skyblock.itemlist.ItemListWidget; +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() { + return new ItemListWidget(); + } +} 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..ef8319a0 --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/mixin/RecipeBookWidgetAccessor.java @@ -0,0 +1,16 @@ +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 + int getLeftOffset(); + @Accessor + TextFieldWidget getSearchField(); +} -- cgit