aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/xmrvizzy/skyblocker/container
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-05-03 17:14:28 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2023-05-03 17:14:28 -0400
commit9c1d500ff84641612c178f883e2dbeb2f3bfef84 (patch)
tree198b8ea18ff8b458a389cfa21c10f904cf02decd /src/main/java/me/xmrvizzy/skyblocker/container
parent46170500518e94e86758af11267fb08021d48170 (diff)
downloadSkyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.tar.gz
Skyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.tar.bz2
Skyblocker-9c1d500ff84641612c178f883e2dbeb2f3bfef84.zip
Refactored container to gui
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/container')
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/container/ColorHighlight.java4
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java39
-rw-r--r--src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolverManager.java89
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;
- }
-}