aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/item/ExoticCheck.java
blob: 130ef04987765dfbbd8dcd52ddf9e1fc15dae008 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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());
    }
}