aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java b/src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java
new file mode 100644
index 00000000..130ef049
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java
@@ -0,0 +1,87 @@
+package de.hysky.skyblocker.skyblock.item;
+
+import de.hysky.skyblocker.utils.Constants;
+import net.minecraft.nbt.NbtCompound;
+import net.minecraft.text.MutableText;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+
+public class ExoticCheck {
+ public static String getExpectedHex(String id) {
+ String color = PriceInfoTooltip.colorJson.get(id).getAsString();
+ if (color != null) {
+ String[] RGBValues = color.split(",");
+ String hex = String.format("%02x%02x%02x", Integer.parseInt(RGBValues[0]), Integer.parseInt(RGBValues[1]), Integer.parseInt(RGBValues[2]));
+ return hex.toUpperCase();
+ } else {
+ System.out.println("Color is null");
+ return null;
+ }
+ }
+
+ public static boolean isException(String id, String hex) {
+ if (id.startsWith("LEATHER") || id.equals("GHOST_BOOTS") || Constants.SEYMOUR_IDS.contains(id)) {
+ return true;
+ }
+ if (id.startsWith("RANCHER")) {
+ return Constants.RANCHERS.contains(hex);
+ }
+ if (id.contains("ADAPTIVE_CHESTPLATE")) {
+ return Constants.ADAPTIVE_CHEST.contains(hex);
+ } else if (id.contains("ADAPTIVE")) {
+ return Constants.ADAPTIVE.contains(hex);
+ }
+ if (id.startsWith("REAPER")) {
+ return Constants.REAPER.contains(hex);
+ }
+ if (id.startsWith("FAIRY")) {
+ return Constants.FAIRY_HEXES.contains(hex);
+ }
+ if (id.startsWith("CRYSTAL")) {
+ return Constants.CRYSTAL_HEXES.contains(hex);
+ }
+ if (id.contains("SPOOK")) {
+ return Constants.SPOOK.contains(hex);
+ }
+ return false;
+ }
+
+ public static String checkDyeType(String hex) {
+ if (Constants.CRYSTAL_HEXES.contains(hex)) {
+ return "CRYSTAL";
+ }
+ if (Constants.FAIRY_HEXES.contains(hex)) {
+ return "FAIRY";
+ }
+ if (Constants.OG_FAIRY_HEXES.contains(hex)) {
+ return "OG_FAIRY";
+ }
+ if (Constants.SPOOK.contains(hex)) {
+ return "SPOOK";
+ }
+ if (Constants.GLITCHED.contains(hex)) {
+ return "GLITCHED";
+ }
+ return "EXOTIC";
+ }
+
+ public static boolean intendedDyed(NbtCompound ItemData) {
+ return ItemData.getCompound("ExtraAttributes").contains("dye_item");
+ }
+
+ public static Formatting getFormattingColor(String s) {
+ return switch (s) {
+ case "CRYSTAL" -> Formatting.AQUA;
+ case "FAIRY" -> Formatting.LIGHT_PURPLE;
+ case "OG_FAIRY" -> Formatting.DARK_PURPLE;
+ case "SPOOK" -> Formatting.RED;
+ case "GLITCHED" -> Formatting.BLUE;
+ case "EXOTIC" -> Formatting.GOLD;
+ default -> Formatting.DARK_GRAY;
+ };
+ }
+
+ public static MutableText getTranslatedText(String s) {
+ return Text.translatable("skyblocker.exotic." + s.toLowerCase());
+ }
+}