aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api/enums/Quality.java
blob: 050f335b5ec1fc10b4fb92b798c960c8a6ab6f8d (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
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;
		}
	}

}