diff options
author | msg-programs <msgdoesstuff@gmail.com> | 2023-05-19 17:05:13 +0200 |
---|---|---|
committer | msg-programs <msgdoesstuff@gmail.com> | 2023-05-19 17:05:13 +0200 |
commit | 615f462a1fc8fb5cc6fbe0c1e070f70241be9137 (patch) | |
tree | f72054aeb218f5ef7d24f29e1ce170f0624ff496 /src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java | |
parent | 73968e490b4a6886b05f45a95bfcd2328affdac4 (diff) | |
parent | f0f41378eef1c7bf59827ed707db048db5ff7050 (diff) | |
download | Skyblocker-615f462a1fc8fb5cc6fbe0c1e070f70241be9137.tar.gz Skyblocker-615f462a1fc8fb5cc6fbe0c1e070f70241be9137.tar.bz2 Skyblocker-615f462a1fc8fb5cc6fbe0c1e070f70241be9137.zip |
Merge branch 'master' of https://github.com/SkyblockerMod/Skyblocker into skyhytab
Merge new commits.
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java')
-rw-r--r-- | src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java new file mode 100644 index 00000000..84de64eb --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/gui/ContainerSolver.java @@ -0,0 +1,39 @@ +package me.xmrvizzy.skyblocker.gui; + +import net.minecraft.item.ItemStack; + +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +/** + * Abstract class for gui solvers. Extend this class to add a new gui 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); + } + } +} |