diff options
| author | Yasin <a.piri@hotmail.de> | 2023-10-09 12:58:02 +0200 |
|---|---|---|
| committer | Yasin <a.piri@hotmail.de> | 2023-10-09 12:58:02 +0200 |
| commit | bd3f0329d0e391bd84b5f9e3ff207d9dd9815853 (patch) | |
| tree | 2fd1d1ef625f57acc2e4916c967d8d2393844798 /src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment | |
| parent | 2315b90da8117f28f66348927afdb621ee4fc815 (diff) | |
| download | Skyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.tar.gz Skyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.tar.bz2 Skyblocker-bd3f0329d0e391bd84b5f9e3ff207d9dd9815853.zip | |
new pr because fixing merge conflict would take too long
Diffstat (limited to 'src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment')
4 files changed, 0 insertions, 350 deletions
diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java deleted file mode 100644 index 02d612a6..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ChronomatronSolver.java +++ /dev/null @@ -1,129 +0,0 @@ -package me.xmrvizzy.skyblocker.skyblock.experiment; - -import com.google.common.collect.ImmutableMap; - -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; - -import java.util.AbstractMap; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class ChronomatronSolver extends ExperimentSolver { - public static final ImmutableMap<Item, Item> TERRACOTTA_TO_GLASS = ImmutableMap.ofEntries( - new AbstractMap.SimpleImmutableEntry<>(Items.RED_TERRACOTTA, Items.RED_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.ORANGE_TERRACOTTA, Items.ORANGE_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.YELLOW_TERRACOTTA, Items.YELLOW_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.LIME_TERRACOTTA, Items.LIME_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.GREEN_TERRACOTTA, Items.GREEN_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.CYAN_TERRACOTTA, Items.CYAN_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.LIGHT_BLUE_TERRACOTTA, Items.LIGHT_BLUE_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.BLUE_TERRACOTTA, Items.BLUE_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.PURPLE_TERRACOTTA, Items.PURPLE_STAINED_GLASS), - new AbstractMap.SimpleImmutableEntry<>(Items.PINK_TERRACOTTA, Items.PINK_STAINED_GLASS) - ); - - private final List<Item> chronomatronSlots = new ArrayList<>(); - private int chronomatronChainLengthCount; - private int chronomatronCurrentSlot; - private int chronomatronCurrentOrdinal; - - public ChronomatronSolver() { - super("^Chronomatron \\(\\w+\\)$"); - } - - public List<Item> getChronomatronSlots() { - return chronomatronSlots; - } - - public int getChronomatronCurrentOrdinal() { - return chronomatronCurrentOrdinal; - } - - public int incrementChronomatronCurrentOrdinal() { - return ++chronomatronCurrentOrdinal; - } - - @Override - protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { - return experimentsConfig.enableChronomatronSolver; - } - - @Override - protected void tick(Screen screen) { - if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Chronomatron (")) { - switch (getState()) { - case REMEMBER -> { - Inventory inventory = genericContainerScreen.getScreenHandler().getInventory(); - if (chronomatronCurrentSlot == 0) { - for (int index = 10; index < 43; index++) { - if (inventory.getStack(index).hasEnchantments()) { - if (chronomatronSlots.size() <= chronomatronChainLengthCount) { - chronomatronSlots.add(TERRACOTTA_TO_GLASS.get(inventory.getStack(index).getItem())); - setState(State.WAIT); - } else { - chronomatronChainLengthCount++; - } - chronomatronCurrentSlot = index; - return; - } - } - } else if (!inventory.getStack(chronomatronCurrentSlot).hasEnchantments()) { - chronomatronCurrentSlot = 0; - } - } - case WAIT -> { - if (genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString().startsWith("Timer: ")) { - setState(State.SHOW); - } - } - case END -> { - String name = genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString(); - if (!name.startsWith("Timer: ")) { - if (name.equals("Remember the pattern!")) { - chronomatronChainLengthCount = 0; - chronomatronCurrentOrdinal = 0; - setState(State.REMEMBER); - } else { - reset(); - } - } - } - } - } else { - reset(); - } - } - - @Override - protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) { - List<ColorHighlight> highlights = new ArrayList<>(); - if (getState() == State.SHOW && chronomatronSlots.size() > chronomatronCurrentOrdinal) { - for (Map.Entry<Integer, ItemStack> indexStack : slots.entrySet()) { - int index = indexStack.getKey(); - ItemStack stack = indexStack.getValue(); - Item item = chronomatronSlots.get(chronomatronCurrentOrdinal); - if (stack.isOf(item) || TERRACOTTA_TO_GLASS.get(stack.getItem()) == item) { - highlights.add(ColorHighlight.green(index)); - } - } - } - return highlights; - } - - @Override - protected void reset() { - super.reset(); - chronomatronSlots.clear(); - chronomatronChainLengthCount = 0; - chronomatronCurrentSlot = 0; - chronomatronCurrentOrdinal = 0; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java deleted file mode 100644 index 9e25fa2a..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/ExperimentSolver.java +++ /dev/null @@ -1,60 +0,0 @@ -package me.xmrvizzy.skyblocker.skyblock.experiment; - -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.config.SkyblockerConfigManager; -import me.xmrvizzy.skyblocker.utils.render.gui.ContainerSolver; -import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.item.ItemStack; - -import java.util.HashMap; -import java.util.Map; - -public abstract class ExperimentSolver extends ContainerSolver { - public enum State { - REMEMBER, WAIT, SHOW, END - } - - private State state = State.REMEMBER; - private final Map<Integer, ItemStack> slots = new HashMap<>(); - - protected ExperimentSolver(String containerName) { - super(containerName); - } - - public State getState() { - return state; - } - - public void setState(State state) { - this.state = state; - } - - public Map<Integer, ItemStack> getSlots() { - return slots; - } - - @Override - protected final boolean isEnabled() { - return isEnabled(SkyblockerConfigManager.get().general.experiments); - } - - protected abstract boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig); - - @Override - protected void start(GenericContainerScreen screen) { - super.start(screen); - state = State.REMEMBER; - ScreenEvents.afterTick(screen).register(this::tick); - } - - @Override - protected void reset() { - super.reset(); - state = State.REMEMBER; - slots.clear(); - } - - protected abstract void tick(Screen screen); -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java deleted file mode 100644 index f329a395..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/SuperpairsSolver.java +++ /dev/null @@ -1,81 +0,0 @@ -package me.xmrvizzy.skyblocker.skyblock.experiment; - -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.item.ItemStack; -import net.minecraft.item.Items; - -import java.util.*; - -public class SuperpairsSolver extends ExperimentSolver { - private int superpairsPrevClickedSlot; - private ItemStack superpairsCurrentSlot; - private final Set<Integer> superpairsDuplicatedSlots = new HashSet<>(); - - public SuperpairsSolver() { - super("^Superpairs \\(\\w+\\)$"); - } - - public void setSuperpairsPrevClickedSlot(int superpairsPrevClickedSlot) { - this.superpairsPrevClickedSlot = superpairsPrevClickedSlot; - } - - public void setSuperpairsCurrentSlot(ItemStack superpairsCurrentSlot) { - this.superpairsCurrentSlot = superpairsCurrentSlot; - } - - @Override - protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { - return experimentsConfig.enableSuperpairsSolver; - } - - @Override - protected void start(GenericContainerScreen screen) { - super.start(screen); - setState(State.SHOW); - } - - @Override - protected void tick(Screen screen) { - if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Superpairs (")) { - if (getState() == State.SHOW) { - if (genericContainerScreen.getScreenHandler().getInventory().getStack(4).isOf(Items.CAULDRON)) { - reset(); - } else if (getSlots().get(superpairsPrevClickedSlot) == null) { - ItemStack itemStack = genericContainerScreen.getScreenHandler().getInventory().getStack(superpairsPrevClickedSlot); - if (!(itemStack.isOf(Items.CYAN_STAINED_GLASS) || itemStack.isOf(Items.BLACK_STAINED_GLASS_PANE) || itemStack.isOf(Items.AIR))) { - getSlots().entrySet().stream().filter((entry -> ItemStack.areEqual(entry.getValue(), itemStack))).findAny().ifPresent(entry -> superpairsDuplicatedSlots.add(entry.getKey())); - getSlots().put(superpairsPrevClickedSlot, itemStack); - superpairsCurrentSlot = itemStack; - } - } - } - } else { - reset(); - } - } - - @Override - protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> displaySlots) { - List<ColorHighlight> highlights = new ArrayList<>(); - if (getState() == State.SHOW) { - for (Map.Entry<Integer, ItemStack> indexStack : displaySlots.entrySet()) { - int index = indexStack.getKey(); - ItemStack displayStack = indexStack.getValue(); - ItemStack stack = getSlots().get(index); - if (stack != null && !ItemStack.areEqual(stack, displayStack)) { - if (ItemStack.areEqual(superpairsCurrentSlot, stack) && displayStack.getName().getString().equals("Click a second button!")) { - highlights.add(ColorHighlight.green(index)); - } else if (superpairsDuplicatedSlots.contains(index)) { - highlights.add(ColorHighlight.yellow(index)); - } else { - highlights.add(ColorHighlight.red(index)); - } - } - } - } - return highlights; - } -} diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java deleted file mode 100644 index d4d80ee6..00000000 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/experiment/UltrasequencerSolver.java +++ /dev/null @@ -1,80 +0,0 @@ -package me.xmrvizzy.skyblocker.skyblock.experiment; - -import me.xmrvizzy.skyblocker.config.SkyblockerConfig; -import me.xmrvizzy.skyblocker.utils.render.gui.ColorHighlight; -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; -import net.minecraft.inventory.Inventory; -import net.minecraft.item.ItemStack; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -public class UltrasequencerSolver extends ExperimentSolver { - private int ultrasequencerNextSlot; - - public UltrasequencerSolver() { - super("^Ultrasequencer \\(\\w+\\)$"); - } - - public int getUltrasequencerNextSlot() { - return ultrasequencerNextSlot; - } - - public void setUltrasequencerNextSlot(int ultrasequencerNextSlot) { - this.ultrasequencerNextSlot = ultrasequencerNextSlot; - } - - @Override - protected boolean isEnabled(SkyblockerConfig.Experiments experimentsConfig) { - return experimentsConfig.enableUltrasequencerSolver; - } - - @Override - protected void tick(Screen screen) { - if (isEnabled() && screen instanceof GenericContainerScreen genericContainerScreen && genericContainerScreen.getTitle().getString().startsWith("Ultrasequencer (")) { - switch (getState()) { - case REMEMBER -> { - Inventory inventory = genericContainerScreen.getScreenHandler().getInventory(); - if (inventory.getStack(49).getName().getString().equals("Remember the pattern!")) { - for (int index = 9; index < 45; index++) { - ItemStack itemStack = inventory.getStack(index); - String name = itemStack.getName().getString(); - if (name.matches("\\d+")) { - if (name.equals("1")) { - ultrasequencerNextSlot = index; - } - getSlots().put(index, itemStack); - } - } - setState(State.WAIT); - } - } - case WAIT -> { - if (genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString().startsWith("Timer: ")) { - setState(State.SHOW); - } - } - case END -> { - String name = genericContainerScreen.getScreenHandler().getInventory().getStack(49).getName().getString(); - if (!name.startsWith("Timer: ")) { - if (name.equals("Remember the pattern!")) { - getSlots().clear(); - setState(State.REMEMBER); - } else { - reset(); - } - } - } - } - } else { - reset(); - } - } - - @Override - protected List<ColorHighlight> getColors(String[] groups, Map<Integer, ItemStack> slots) { - return getState() == State.SHOW && ultrasequencerNextSlot != 0 ? List.of(ColorHighlight.green(ultrasequencerNextSlot)) : new ArrayList<>(); - } -} |
