diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2024-07-26 01:27:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-26 01:27:12 +0800 |
commit | 55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c (patch) | |
tree | c0da1abbc72c6cce7d796e7a7655a8203fb916f2 /src/main/java/de/hysky/skyblocker/mixins | |
parent | 7f91ba452475397e7a6d6f2ecf671408778bb9dd (diff) | |
parent | eb2ac7c20ca00da5c8998aad291584b76186ec5f (diff) | |
download | Skyblocker-55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c.tar.gz Skyblocker-55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c.tar.bz2 Skyblocker-55349c543a4b0fcbf9cbb86e0c1b7c0abd790b8c.zip |
Merge pull request #788 from Emirlol/container-matcher-refactor
Refactor container matcher implementations into interfaces
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/mixins')
-rw-r--r-- | src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java index 709b8697..2f22a870 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/HandledScreenMixin.java @@ -14,7 +14,6 @@ import de.hysky.skyblocker.skyblock.item.ItemProtection; import de.hysky.skyblocker.skyblock.item.ItemRarityBackgrounds; import de.hysky.skyblocker.skyblock.item.MuseumItemCache; import de.hysky.skyblocker.skyblock.item.WikiLookup; -import de.hysky.skyblocker.skyblock.item.slottext.SlotText; import de.hysky.skyblocker.skyblock.item.slottext.SlotTextManager; import de.hysky.skyblocker.skyblock.item.tooltip.BackpackPreview; import de.hysky.skyblocker.skyblock.item.tooltip.CompactorDeletorPreview; @@ -22,11 +21,10 @@ import de.hysky.skyblocker.skyblock.quicknav.QuickNav; import de.hysky.skyblocker.skyblock.quicknav.QuickNavButton; import de.hysky.skyblocker.utils.ItemUtils; import de.hysky.skyblocker.utils.Utils; -import de.hysky.skyblocker.utils.render.gui.ContainerSolver; +import de.hysky.skyblocker.utils.container.ContainerSolver; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.HandledScreen; -import net.minecraft.client.util.math.MatrixStack; import net.minecraft.inventory.SimpleInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -236,7 +234,7 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen // Prevent clicks on filler items if (SkyblockerConfigManager.get().uiAndVisuals.hideEmptyTooltips && FILLER_ITEMS.contains(stack.getName().getString()) && // Allow clicks in Ultrasequencer and Superpairs - (!UltrasequencerSolver.INSTANCE.getName().matcher(title).matches() || SkyblockerConfigManager.get().helpers.experiments.enableUltrasequencerSolver)) { + (!UltrasequencerSolver.INSTANCE.getTitlePattern().matcher(title).matches() || SkyblockerConfigManager.get().helpers.experiments.enableUltrasequencerSolver)) { ci.cancel(); return; } @@ -335,31 +333,8 @@ public abstract class HandledScreenMixin<T extends ScreenHandler> extends Screen @Inject(method = "drawSlot", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawItemInSlot(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/item/ItemStack;IILjava/lang/String;)V")) private void skyblocker$drawSlotText(DrawContext context, Slot slot, CallbackInfo ci) { - List<SlotText> textList = SlotTextManager.getText(slot); - if (textList.isEmpty()) return; - MatrixStack matrices = context.getMatrices(); - - for (SlotText slotText : textList) { - matrices.push(); - matrices.translate(0.0f, 0.0f, 200.0f); - int length = textRenderer.getWidth(slotText.text()); - if (length > 16) { - matrices.scale(16.0f / length, 16.0f / length, 1.0f); //Make them fit in the slot. FYI, a slot is sized 16×16. - final float x = (slot.x * length / 16.0f) - slot.x; //Save in a variable to not recalculate - switch (slotText.position()) { - case TOP_LEFT, TOP_RIGHT -> matrices.translate(x, (slot.y * length / 16.0f) - slot.y, 0.0f); - case BOTTOM_LEFT, BOTTOM_RIGHT -> matrices.translate(x, ((slot.y + 16f - textRenderer.fontHeight + 2f + 0.7f) * length / 16.0f) - slot.y, 0.0f); - } - } else { - switch (slotText.position()) { - case TOP_LEFT -> { /*Do Nothing*/ } - case TOP_RIGHT -> matrices.translate(16f - length, 0.0f, 0.0f); - case BOTTOM_LEFT -> matrices.translate(0.0f, 16f - textRenderer.fontHeight + 2f, 0.0f); - case BOTTOM_RIGHT -> matrices.translate(16f - length, 16f - textRenderer.fontHeight + 2f, 0.0f); - } - } - context.drawText(textRenderer, slotText.text(), slot.x, slot.y, 0xFFFFFF, true); - matrices.pop(); + if (Utils.isOnSkyblock()) { + SlotTextManager.renderSlotText(context, textRenderer, slot); } } } |