aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/config/configs/DungeonsConfig.java
blob: 09eff9ee35306f1884beebbeede047c5b70feac6 (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
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
package de.hysky.skyblocker.config.configs;

import de.hysky.skyblocker.utils.waypoint.Waypoint;
import dev.isxander.yacl3.config.v2.api.SerialEntry;
import net.minecraft.util.Formatting;

public class DungeonsConfig {
    @SerialEntry
    public boolean fancyPartyFinder = true;

    @SerialEntry
    public boolean croesusHelper = true;

    @SerialEntry
    public boolean playerSecretsTracker = false;

    @SerialEntry
    public boolean starredMobGlow = false;

    @SerialEntry
    public boolean starredMobBoundingBoxes = true;

    @SerialEntry
    public boolean allowDroppingProtectedItems = false;

    @SerialEntry
    public DungeonMap dungeonMap = new DungeonMap();

    @SerialEntry
    public PuzzleSolvers puzzleSolvers = new PuzzleSolvers();

    @SerialEntry
    public TheProfessor theProfessor = new TheProfessor();

    @SerialEntry
    public Livid livid = new Livid();

    @SerialEntry
    public Terminals terminals = new Terminals();

    @SerialEntry
    public SecretWaypoints secretWaypoints = new SecretWaypoints();

    @SerialEntry
    public MimicMessage mimicMessage = new MimicMessage();

    @SerialEntry
    public DoorHighlight doorHighlight = new DoorHighlight();

    @SerialEntry
    public DungeonScore dungeonScore = new DungeonScore();

    @SerialEntry
    public DungeonChestProfit dungeonChestProfit = new DungeonChestProfit();

    public static class DungeonMap {
        @SerialEntry
        public boolean enableMap = true;

        @SerialEntry
        public float mapScaling = 1f;

        @SerialEntry
        public int mapX = 2;

        @SerialEntry
        public int mapY = 2;
    }

    public static class PuzzleSolvers {
        @SerialEntry
        public boolean solveTicTacToe = true;

        @SerialEntry
        public boolean solveThreeWeirdos = true;

        @SerialEntry
        public boolean creeperSolver = true;

        @SerialEntry
        public boolean solveWaterboard = true;

        @SerialEntry
        public boolean blazeSolver = true;

        @SerialEntry
        public boolean solveBoulder = true;

        @SerialEntry
        public boolean solveIceFill = true;

        @SerialEntry
        public boolean solveSilverfish = true;

        @SerialEntry
        public boolean solveTrivia = true;
    }

    public static class TheProfessor {
        @SerialEntry
        public boolean fireFreezeStaffTimer = true;

        @SerialEntry
        public boolean floor3GuardianHealthDisplay = true;
    }

    public static class Livid {
        @SerialEntry
        public boolean enableLividColorGlow = true;

        @SerialEntry
        public boolean enableLividColorText = true;

        @SerialEntry
        public boolean enableLividColorTitle = true;

        @SerialEntry
        public String lividColorText = "The livid color is [color]";
    }

    public static class Terminals {
        @SerialEntry
        public boolean solveColor = true;

        @SerialEntry
        public boolean solveOrder = true;

        @SerialEntry
        public boolean solveStartsWith = true;

        @SerialEntry
        public boolean blockIncorrectClicks = false;
    }

    public static class SecretWaypoints {
        @SerialEntry
        public boolean enableRoomMatching = true;

        @SerialEntry
        public boolean enableSecretWaypoints = true;

        @SerialEntry
        public Waypoint.Type waypointType = Waypoint.Type.WAYPOINT;

        @SerialEntry
        public boolean showSecretText = true;

        @SerialEntry
        public boolean enableEntranceWaypoints = true;

        @SerialEntry
        public boolean enableSuperboomWaypoints = true;

        @SerialEntry
        public boolean enableChestWaypoints = true;

        @SerialEntry
        public boolean enableItemWaypoints = true;

        @SerialEntry
        public boolean enableBatWaypoints = true;

        @SerialEntry
        public boolean enableWitherWaypoints = true;

        @SerialEntry
        public boolean enableLeverWaypoints = true;

        @SerialEntry
        public boolean enableFairySoulWaypoints = true;

        @SerialEntry
        public boolean enableStonkWaypoints = true;

        @SerialEntry
        public boolean enableAotvWaypoints = true;

        @SerialEntry
        public boolean enablePearlWaypoints = true;

        @SerialEntry
        public boolean enableDefaultWaypoints = true;
    }

    public static class MimicMessage {
        @SerialEntry
        public boolean sendMimicMessage = true;

        @SerialEntry
        public String mimicMessage = "Mimic dead!";
    }

    public static class DoorHighlight {
        @SerialEntry
        public boolean enableDoorHighlight = true;

        @SerialEntry
        public Type doorHighlightType = Type.OUTLINED_HIGHLIGHT;

        public enum Type {
            HIGHLIGHT,
            OUTLINED_HIGHLIGHT,
            OUTLINE;

            @Override
            public String toString() {
                return switch (this) {
                    case HIGHLIGHT -> "Highlight";
                    case OUTLINED_HIGHLIGHT -> "Outlined Highlight";
                    case OUTLINE -> "Outline";
                };
            }
        }
    }

    public static class DungeonScore {
        @SerialEntry
        public boolean enableDungeonScore270Message = false;

        @SerialEntry
        public boolean enableDungeonScore270Title = false;

        @SerialEntry
        public boolean enableDungeonScore270Sound = false;

        @SerialEntry
        public String dungeonScore270Message = "270 Score Reached!";

        @SerialEntry
        public boolean enableDungeonScore300Message = true;

        @SerialEntry
        public boolean enableDungeonScore300Title = true;

        @SerialEntry
        public boolean enableDungeonScore300Sound = true;

        @SerialEntry
        public String dungeonScore300Message = "300 Score Reached!";

        @SerialEntry
        public boolean enableDungeonCryptsMessage = true;

        @SerialEntry
        public int dungeonCryptsMessageThreshold = 250;

        @SerialEntry
        public String dungeonCryptsMessage = "We only have [crypts] crypts out of 5, we need more!";

        @SerialEntry
        public boolean enableScoreHUD = true;

        @SerialEntry
        public int scoreX = 29;

        @SerialEntry
        public int scoreY = 134;

        @SerialEntry
        public float scoreScaling = 1f;
    }

    public static class DungeonChestProfit {
        @SerialEntry
        public boolean enableProfitCalculator = true;

        @SerialEntry
        public boolean includeKismet = false;

        @SerialEntry
        public boolean includeEssence = true;

        @SerialEntry
        public boolean croesusProfit = true;

        @SerialEntry
        public int neutralThreshold = 1000;

        @SerialEntry
        public Formatting neutralColor = Formatting.DARK_GRAY;

        @SerialEntry
        public Formatting profitColor = Formatting.DARK_GREEN;

        @SerialEntry
        public Formatting lossColor = Formatting.RED;

        @SerialEntry
        public Formatting incompleteColor = Formatting.BLUE;
    }

}