diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-05-03 17:14:28 -0400 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2023-05-03 17:14:28 -0400 |
commit | 9c1d500ff84641612c178f883e2dbeb2f3bfef84 (patch) | |
tree | 198b8ea18ff8b458a389cfa21c10f904cf02decd /src/main/java/me/xmrvizzy/skyblocker/container | |
parent | 46170500518e94e86758af11267fb08021d48170 (diff) | |
download | Skyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.tar.gz Skyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.tar.bz2 Skyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.zip |
Refactored container to gui
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/container')
3 files changed, 0 insertions, 132 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ColorHighlight.java b/src/main/java/me/xmrvizzy/skyblocker/container/ColorHighlight.java deleted file mode 100644 index c4380eab..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ColorHighlight.java +++ /dev/null @@ -1,4 +0,0 @@ -package me.xmrvizzy.skyblocker.container; - -public record ColorHighlight(int slot, int color) { -}
\ No newline at end of file diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java deleted file mode 100644 index ecec2449..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java +++ /dev/null @@ -1,39 +0,0 @@ -package me.xmrvizzy.skyblocker.container; - -import net.minecraft.item.ItemStack; - -import java.util.List; -import java.util.Map; -import java.util.regex.Pattern; - -/** - * Abstract class for container solvers. Extend this class to add a new container solver, like terminal solvers or experiment solvers. - */ -public abstract class ContainerSolver { - private final Pattern CONTAINER_NAME; - protected final static int GREEN_HIGHLIGHT = 128 << 24 | 64 << 16 | 196 << 8 | 64; - protected final static int GRAY_HIGHLIGHT = 128 << 24 | 64 << 16 | 64 << 8 | 64; - - public ContainerSolver(String containerName) { - CONTAINER_NAME = Pattern.compile(containerName); - } - - public abstract boolean isEnabled(); - - public Pattern getName() { - return CONTAINER_NAME; - } - - public abstract List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots); - - public void trimEdges(Map<Integer, ItemStack> slots, int rows) { - for (int i = 0; i < rows; i++) { - slots.remove(9 * i); - slots.remove(9 * i + 8); - } - for (int i = 1; i < 8; i++) { - slots.remove(i); - slots.remove((rows - 1) * 9 + i); - } - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java deleted file mode 100644 index b50231fb..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java +++ /dev/null @@ -1,89 +0,0 @@ -package me.xmrvizzy.skyblocker.container; - -import com.mojang.blaze3d.systems.RenderSystem; -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 net.minecraft.client.gui.DrawableHelper; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.item.ItemStack; -import net.minecraft.screen.slot.Slot; -import org.jetbrains.annotations.NotNull; - -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * Manager class for {@link ContainerSolver}s like terminal solvers and experiment solvers. To add a new container solver, extend {@link ContainerSolver} and register it in {@link #ContainerSolverManager()}. - */ -public class ContainerSolverManager extends DrawableHelper { - private static final Pattern PLACEHOLDER_PATTERN = Pattern.compile(""); - private final ContainerSolver[] solvers; - private ContainerSolver currentSolver = null; - private String[] groups; - private List<ColorHighlight> highlights; - - public ContainerSolverManager() { - solvers = new ContainerSolver[]{ - new ColorTerminal(), - new OrderTerminal(), - new StartsWithTerminal(), - new CroesusHelper() - }; - } - - public void onSetScreen(@NotNull GenericContainerScreen screen) { - String screenName = screen.getTitle().getString(); - Matcher matcher = PLACEHOLDER_PATTERN.matcher(screenName); - for (ContainerSolver solver : solvers) { - if (solver.isEnabled()) { - matcher.usePattern(solver.getName()); - matcher.reset(); - if (matcher.matches()) { - currentSolver = solver; - groups = new String[matcher.groupCount()]; - for (int i = 0; i < groups.length; i++) - groups[i] = matcher.group(i + 1); - return; - } - } - } - currentSolver = null; - } - - public void clearScreen() { - currentSolver = null; - } - - public void markDirty() { - highlights = null; - } - - public void onDraw(MatrixStack matrices, List<Slot> slots) { - if (currentSolver == null) - return; - if (highlights == null) - highlights = currentSolver.getColors(groups, slotMap(slots)); - RenderSystem.disableDepthTest(); - RenderSystem.colorMask(true, true, true, false); - for (ColorHighlight highlight : highlights) { - Slot slot = slots.get(highlight.slot()); - int color = highlight.color(); - 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) { - Map<Integer, ItemStack> slotMap = new TreeMap<>(); - for (int i = 0; i < slots.size(); i++) - slotMap.put(i, slots.get(i).getStack()); - return slotMap; - } -} |