diff options
author | Kevin <92656833+kevinthegreat1@users.noreply.github.com> | 2023-05-21 19:29:38 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-21 19:29:38 -0400 |
commit | 58eb66843c987937428b0068b7f8522233984488 (patch) | |
tree | e6082634469e6da9fff38005519cd4aa682a5602 /src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java | |
parent | f0f41378eef1c7bf59827ed707db048db5ff7050 (diff) | |
parent | d9f368296ac5dac6dc60602e25cf1cc989e11ae5 (diff) | |
download | Skyblocker-58eb66843c987937428b0068b7f8522233984488.tar.gz Skyblocker-58eb66843c987937428b0068b7f8522233984488.tar.bz2 Skyblocker-58eb66843c987937428b0068b7f8522233984488.zip |
Merge pull request #154 from kevinthegreat1/api-migration
Api migration, config command, and cleanup
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java index c965154f..8f3f7e2a 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java +++ b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolverManager.java @@ -1,10 +1,13 @@ package me.xmrvizzy.skyblocker.gui; import com.mojang.blaze3d.systems.RenderSystem; +import me.xmrvizzy.skyblocker.mixin.HandledScreenAccessor; import me.xmrvizzy.skyblocker.skyblock.dungeon.CroesusHelper; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.ColorTerminal; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.OrderTerminal; import me.xmrvizzy.skyblocker.skyblock.dungeon.terminal.StartsWithTerminal; +import me.xmrvizzy.skyblocker.utils.Utils; +import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.util.math.MatrixStack; @@ -37,6 +40,22 @@ public class ContainerSolverManager extends DrawableHelper { }; } + public void init() { + ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> { + if (Utils.isOnSkyblock && screen instanceof GenericContainerScreen genericContainerScreen) { + ScreenEvents.afterRender(screen).register((screen1, matrices, mouseX, mouseY, delta) -> { + matrices.push(); + matrices.translate(((HandledScreenAccessor) genericContainerScreen).getX(), ((HandledScreenAccessor) genericContainerScreen).getY(), 300); + onDraw(matrices, genericContainerScreen.getScreenHandler().slots.subList(0, genericContainerScreen.getScreenHandler().getRows() * 9)); + matrices.pop(); + }); + onSetScreen(genericContainerScreen); + } else { + clearScreen(); + } + }); + } + public void onSetScreen(@NotNull GenericContainerScreen screen) { String screenName = screen.getTitle().getString(); Matcher matcher = PLACEHOLDER_PATTERN.matcher(screenName); @@ -69,7 +88,7 @@ public class ContainerSolverManager extends DrawableHelper { return; if (highlights == null) highlights = currentSolver.getColors(groups, slotMap(slots)); - RenderSystem.disableDepthTest(); + RenderSystem.enableDepthTest(); RenderSystem.colorMask(true, true, true, false); for (ColorHighlight highlight : highlights) { Slot slot = slots.get(highlight.slot()); @@ -77,7 +96,6 @@ public class ContainerSolverManager extends DrawableHelper { fillGradient(matrices, slot.x, slot.y, slot.x + 16, slot.y + 16, color, color); } RenderSystem.colorMask(true, true, true, true); - RenderSystem.enableDepthTest(); } private Map<Integer, ItemStack> slotMap(List<Slot> slots) { |