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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
package at.hannibal2.skyhanni.config.features.combat;
import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.HasLegacyId;
import at.hannibal2.skyhanni.config.core.config.Position;
import com.google.gson.annotations.Expose;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorDraggableList;
import io.github.notenoughupdates.moulconfig.annotations.ConfigLink;
import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;
import io.github.notenoughupdates.moulconfig.observer.Property;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.COINS_MADE;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENCHANTED_ENDER_PEARL;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENCHANTED_END_STONE;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENCHANTED_OBSIDIAN;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENDERMAN_PET;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENDERMITE_NEST;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.ENDER_ARMOR;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.GRAND_XP_BOTTLE;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.MAGICAL_RUNE_I;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.MITE_GEL;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.NODES_MINED;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.SHRIMP_THE_FISH;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.SPACER_1;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.SPACER_2;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.TITANIC_XP_BOTTLE;
import static at.hannibal2.skyhanni.config.features.combat.EnderNodeConfig.EnderNodeDisplayEntry.TITLE;
public class EnderNodeConfig {
@Expose
@ConfigOption(
name = "Enabled",
desc = "Tracks all of your drops from mining Ender Nodes in the End.\n" +
"Also tracks drops from Endermen."
)
@ConfigEditorBoolean
@FeatureToggle
public boolean enabled = false;
@Expose
@ConfigOption(
name = "Only While Holding Tool",
desc = "Only show the tracker if holding a pickaxe, drill or gauntlet in hand."
)
@ConfigEditorBoolean
public boolean onlyPickaxe = false;
@Expose
@ConfigOption(
name = "Text Format",
desc = "Drag text to change the appearance of the overlay."
)
@ConfigEditorDraggableList
public Property<List<EnderNodeDisplayEntry>> textFormat = Property.of(new ArrayList<>(Arrays.asList(
TITLE,
NODES_MINED,
COINS_MADE,
SPACER_1,
ENDERMITE_NEST,
ENCHANTED_END_STONE,
ENCHANTED_OBSIDIAN,
ENCHANTED_ENDER_PEARL,
GRAND_XP_BOTTLE,
TITANIC_XP_BOTTLE,
MAGICAL_RUNE_I,
MITE_GEL,
SHRIMP_THE_FISH,
SPACER_2,
ENDER_ARMOR,
ENDERMAN_PET)
));
public enum EnderNodeDisplayEntry implements HasLegacyId {
TITLE("§5§lEnder Node Tracker", 0),
NODES_MINED("§d1,303 Ender Nodes Mined", 1),
COINS_MADE("§615.3M Coins Made", 2),
SPACER_1(" ", 3),
ENDERMITE_NEST("§b123 §cEndermite Nest", 4),
ENCHANTED_END_STONE("§b832 §aEnchanted End Stone", 5),
ENCHANTED_OBSIDIAN("§b230 §aEnchanted Obsidian", 6),
ENCHANTED_ENDER_PEARL("§b1630 §aEnchanted Ender Pearl", 7),
GRAND_XP_BOTTLE("§b85 §aGrand Experience Bottle", 8),
TITANIC_XP_BOTTLE("§b4 §9Titanic Experience Bottle", 9),
END_STONE_SHULKER("§b15 §9End Stone Shulker", 10),
END_STONE_GEODE("§b53 §9End Stone Geode", 11),
MAGICAL_RUNE_I("§b10 §d◆ Magical Rune I", 12),
ENDER_GAUNTLET("§b24 §5Ender Gauntlet", 13),
MITE_GEL("§b357 §5Mite Gel", 14),
SHRIMP_THE_FISH("§b2 §cShrimp The Fish", 15),
SPACER_2(" ", 16),
ENDER_ARMOR("§b200 §5Ender Armor", 17),
ENDER_HELMET("§b24 §5Ender Helmet", 18),
ENDER_CHESTPLATE("§b24 §5Ender Chestplate", 19),
ENDER_LEGGINGS("§b24 §5Ender Leggings", 20),
ENDER_BOOTS("§b24 §5Ender Boots", 21),
ENDER_NECKLACE("§b24 §5Ender Necklace", 22),
ENDERMAN_PET("§f10§7-§a8§7-§93§7-§52§7-§61 §fEnderman Pet", 23),
;
private final String str;
private final int legacyId;
EnderNodeDisplayEntry(String str, int legacyId) {
this.str = str;
this.legacyId = legacyId;
}
// Constructor if new enum elements are added post-migration
EnderNodeDisplayEntry(String str) {
this(str, -1);
}
@Override
public int getLegacyId() {
return legacyId;
}
@Override
public String toString() {
return str;
}
}
@Expose
@ConfigLink(owner = EnderNodeConfig.class, field = "enabled")
public Position position = new Position(10, 80, false, true);
}
|