aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/api/enums/Quality.java
blob: efcf2a015f4cb8459296e8a7c0328ba88ce24446 (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
package gtPlusPlus.api.enums;

import net.minecraft.util.EnumChatFormatting;

import gtPlusPlus.core.util.math.MathUtils;

public enum Quality {

    // Magic Blue
    // Rare Yellow
    // Set Green
    // Unique Gold/Purple
    // Trade-off Brown

    POOR("Poor", EnumChatFormatting.GRAY),
    COMMON("Common", EnumChatFormatting.WHITE),
    UNCOMMON("Uncommon", EnumChatFormatting.DARK_GREEN),
    MAGIC("Magic", EnumChatFormatting.BLUE),
    RARE("Rare", EnumChatFormatting.YELLOW),
    UNIQUE("Unique", EnumChatFormatting.GOLD),
    ARTIFACT("Artifact", EnumChatFormatting.AQUA),
    SET("Set Piece", EnumChatFormatting.GREEN),
    TRADEOFF("Trade-off", EnumChatFormatting.DARK_RED),
    EPIC("Epic", EnumChatFormatting.LIGHT_PURPLE);

    private String LOOT;
    private EnumChatFormatting COLOUR;

    private Quality(final String lootTier, final EnumChatFormatting tooltipColour) {
        this.LOOT = lootTier;
        this.COLOUR = tooltipColour;
    }

    public String getQuality() {
        return this.LOOT;
    }

    protected EnumChatFormatting getColour() {
        return this.COLOUR;
    }

    public String formatted() {
        return this.COLOUR + this.LOOT;
    }

    public static Quality getRandomQuality() {
        final int lootChance = MathUtils.randInt(0, 100);
        if (lootChance <= 10) {
            return Quality.POOR;
        } else if (lootChance <= 45) {
            return Quality.COMMON;
        } else if (lootChance <= 65) {
            return Quality.UNCOMMON;
        } else if (lootChance <= 82) {
            return Quality.MAGIC;
        } else if (lootChance <= 92) {
            return Quality.EPIC;
        } else if (lootChance <= 97) {
            return Quality.RARE;
        } else if (lootChance <= 99) {
            return Quality.ARTIFACT;
        } else {
            return null;
        }
    }
}