aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/config/configs/UIAndVisualsConfig.java
blob: 03d300f427f89cce36614df704ab86c433fa05b4 (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
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;

import java.util.ArrayList;
import java.util.List;

public class UIAndVisualsConfig {
    @SerialEntry
    public boolean compactorDeletorPreview = true;

    @SerialEntry
    public boolean dontStripSkinAlphaValues = true;

    @SerialEntry
    public boolean backpackPreviewWithoutShift = false;

    @SerialEntry
    public boolean hideEmptyTooltips = true;

    @SerialEntry
    public boolean fancyCraftingTable = true;

    @SerialEntry
    public boolean hideStatusEffectOverlay = false;

    @SerialEntry
    public ChestValue chestValue = new ChestValue();

    @SerialEntry
    public ItemCooldown itemCooldown = new ItemCooldown();

    @SerialEntry
    public TitleContainer titleContainer = new TitleContainer();

    @SerialEntry
    public TabHudConf tabHud = new TabHudConf();

    @SerialEntry
    public FancyAuctionHouse fancyAuctionHouse = new FancyAuctionHouse();

    @SerialEntry
    public Bars bars = new Bars();

    @SerialEntry
    public Waypoints waypoints = new Waypoints();

    @SerialEntry
    public TeleportOverlay teleportOverlay = new TeleportOverlay();

    @SerialEntry
    public SearchOverlay searchOverlay = new SearchOverlay();

    @SerialEntry
    public InputCalculator inputCalculator = new InputCalculator();

    @SerialEntry
    public FlameOverlay flameOverlay = new FlameOverlay();

    public static class ChestValue {
        @SerialEntry
        public boolean enableChestValue = true;

        @SerialEntry
        public Formatting color = Formatting.DARK_GREEN;

        @SerialEntry
        public Formatting incompleteColor = Formatting.BLUE;
    }

    public static class ItemCooldown {
        @SerialEntry
        public boolean enableItemCooldowns = true;
    }

    public static class TitleContainer {
        @SerialEntry
        public float titleContainerScale = 100;

        @SerialEntry
        public int x = 540;

        @SerialEntry
        public int y = 10;

        @SerialEntry
        public Direction direction = Direction.HORIZONTAL;

        @SerialEntry
        public Alignment alignment = Alignment.MIDDLE;
    }

    public enum Direction {
        HORIZONTAL, VERTICAL;

        @Override
        public String toString() {
            return switch (this) {
                case HORIZONTAL -> "Horizontal";
                case VERTICAL -> "Vertical";
            };
        }
    }

    public enum Alignment {
        LEFT, RIGHT, MIDDLE;

        @Override
        public String toString() {
            return switch (this) {
                case LEFT -> "Left";
                case RIGHT -> "Right";
                case MIDDLE -> "Middle";
            };
        }
    }

    public static class TabHudConf {
        @SerialEntry
        public boolean tabHudEnabled = true;

        @SerialEntry
        public int tabHudScale = 100;

        @SerialEntry
        public boolean enableHudBackground = true;

        @SerialEntry
        public boolean plainPlayerNames = false;

        @SerialEntry
        public NameSorting nameSorting = NameSorting.DEFAULT;
    }

    public enum NameSorting {
        DEFAULT, ALPHABETICAL;

        @Override
        public String toString() {
            return switch (this) {
                case DEFAULT -> "Default";
                case ALPHABETICAL -> "Alphabetical";
            };
        }
    }

    public static class FancyAuctionHouse {
        @SerialEntry
        public boolean enabled = true;

        @SerialEntry
        public boolean highlightCheapBIN = true;
    }

    public static class Bars {
        @SerialEntry
        public boolean enableBars = true;

        // Kept in for backwards compatibility, remove if needed
        @SerialEntry
        public OldBarPositions barPositions = new OldBarPositions();
    }

    /**
     * Backwards compat
     */
    public static class OldBarPositions {
        @SerialEntry
        public OldBarPosition healthBarPosition = OldBarPosition.LAYER1;

        @SerialEntry
        public OldBarPosition manaBarPosition = OldBarPosition.LAYER1;

        @SerialEntry
        public OldBarPosition defenceBarPosition = OldBarPosition.LAYER1;

        @SerialEntry
        public OldBarPosition experienceBarPosition = OldBarPosition.LAYER1;

    }

    /**
     * Backwards compat
     */
    public enum OldBarPosition {
        LAYER1, LAYER2, RIGHT, NONE
    }

    public static class Waypoints {
        @SerialEntry
        public boolean enableWaypoints = true;

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

    public static class TeleportOverlay {
        @SerialEntry
        public boolean enableTeleportOverlays = true;

        @SerialEntry
        public boolean enableWeirdTransmission = true;

        @SerialEntry
        public boolean enableInstantTransmission = true;

        @SerialEntry
        public boolean enableEtherTransmission = true;

        @SerialEntry
        public boolean enableSinrecallTransmission = true;

        @SerialEntry
        public boolean enableWitherImpact = true;
    }

    public static class SearchOverlay {
        @SerialEntry
        public boolean enableBazaar = true;

        @SerialEntry
        public boolean enableAuctionHouse = true;

        @SerialEntry
        public boolean keepPreviousSearches = false;

        @SerialEntry
        public int maxSuggestions = 3;

        @SerialEntry
        public int historyLength = 3;

        @SerialEntry
        public boolean enableCommands = false;

        @SerialEntry
        public List<String> bazaarHistory = new ArrayList<>();

        @SerialEntry
        public List<String> auctionHistory = new ArrayList<>();
    }

    public static class InputCalculator {
        @SerialEntry
        public boolean enabled = true;

        @SerialEntry
        public boolean requiresEquals = false;
    }

    public static class FlameOverlay {
        @SerialEntry
        public int flameHeight = 100;

        @SerialEntry
        public int flameOpacity = 100;
    }

}