From 9572664f807e2f545a2d4b6d9f2b4dfa0a9791c3 Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Thu, 7 Oct 2021 19:57:25 +0200 Subject: Added an interface for solvers for minigames inside chests --- .../skyblocker/container/ContainerSolver.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java (limited to 'src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java') diff --git a/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java new file mode 100644 index 00000000..5c3e1e5e --- /dev/null +++ b/src/main/java/me/xmrvizzy/skyblocker/container/ContainerSolver.java @@ -0,0 +1,35 @@ +package me.xmrvizzy.skyblocker.container; + +import net.minecraft.item.ItemStack; + +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +public abstract class ContainerSolver { + private final Pattern CONTAINER_NAME; + protected final static int GREEN_HIGHLIGHT = 128 << 24 | 64 << 16 | 196 << 8 | 64; + + public ContainerSolver(String containerName) { + CONTAINER_NAME = Pattern.compile(containerName); + } + + public abstract boolean isEnabled(); + + public Pattern getName() { + return CONTAINER_NAME; + } + + public abstract List getColors(String[] groups, Map slots); + + public void trimEdges(Map 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); + } + } +} -- cgit