From b3827b5614a80080911fc801a407e89efccded0d Mon Sep 17 00:00:00 2001 From: ExternalTime <84183548+ExternalTime@users.noreply.github.com> Date: Sat, 16 Oct 2021 21:52:44 +0200 Subject: Fixed crash on opening color terminal with unknown color --- .../skyblocker/skyblock/dungeon/terminal/ColorTerminal.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/main/java/me/xmrvizzy/skyblocker') diff --git a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java index 6b51754d..7e654476 100644 --- a/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java +++ b/src/main/java/me/xmrvizzy/skyblocker/skyblock/dungeon/terminal/ColorTerminal.java @@ -9,11 +9,14 @@ import net.minecraft.item.Items; import net.minecraft.util.DyeColor; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.*; public class ColorTerminal extends ContainerSolver { + private static final Logger LOGGER = LogManager.getLogger(ColorTerminal.class.getName()); private static final Map colorFromName; private DyeColor targetColor; private static final Map itemColor; @@ -32,8 +35,14 @@ public class ColorTerminal extends ContainerSolver { public List getColors(String[] groups, Map slots) { trimEdges(slots, 6); List highlights = new ArrayList<>(); - if(targetColor == null) - targetColor = colorFromName.get(groups[0]); + String colorString = groups[0]; + if(targetColor == null) { + targetColor = colorFromName.get(colorString); + if(targetColor == null) { + LOGGER.error("[Skyblocker] Couldn't find dye color corresponding to \"" + colorString + "\""); + return Collections.emptyList(); + } + } for(Map.Entry slot : slots.entrySet()) { ItemStack itemStack = slot.getValue(); if(!itemStack.hasEnchantments() && targetColor.equals(itemColor.get(itemStack.getItem()))) -- cgit