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

import dev.isxander.yacl3.config.v2.api.SerialEntry;

public class MiningConfig {
    @SerialEntry
    public boolean enableDrillFuel = true;

    @SerialEntry
    public DwarvenMines dwarvenMines = new DwarvenMines();

    @SerialEntry
    public DwarvenHud dwarvenHud = new DwarvenHud();

    @SerialEntry
    public CrystalHollows crystalHollows = new CrystalHollows();

    @SerialEntry
    public CrystalsHud crystalsHud = new CrystalsHud();

    @SerialEntry
    public CrystalsWaypoints crystalsWaypoints = new CrystalsWaypoints();

    @SerialEntry
    public CommissionWaypoints commissionWaypoints = new CommissionWaypoints();

    @SerialEntry
    public Glacite glacite = new Glacite();

    public static class DwarvenMines {
        @SerialEntry
        public boolean solveFetchur = true;

        @SerialEntry
        public boolean solvePuzzler = true;
    }

    public static class DwarvenHud {
        @SerialEntry
        public boolean enabledCommissions = true;

        @SerialEntry
        public boolean enabledPowder = true;

        @SerialEntry
        public DwarvenHudStyle style = DwarvenHudStyle.SIMPLE;

        @SerialEntry
        public int commissionsX = 10;

        @SerialEntry
        public int commissionsY = 10;

        @SerialEntry
        public int powderX = 10;

        @SerialEntry
        public int powderY = 70;
    }

    public static class CrystalHollows {
        @SerialEntry
        public boolean metalDetectorHelper = true;
    }

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

        @SerialEntry
        public boolean showLocations = true;

        @SerialEntry
        public int locationSize = 8;

        @SerialEntry
        public int x = 10;

        @SerialEntry
        public int y = 130;

        @SerialEntry
        public float mapScaling = 1f;
    }

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

        @SerialEntry
        public boolean findInChat = true;
    }

    public static class CommissionWaypoints {
        @SerialEntry
        public CommissionWaypointMode mode = CommissionWaypointMode.BOTH;

        @SerialEntry
        public boolean useColor = true;

        @SerialEntry
        public float textScale = 1;

        @SerialEntry
        public boolean showBaseCamp = false;

        @SerialEntry
        public boolean showEmissary = true;
    }

    public enum CommissionWaypointMode {
        OFF, DWARVEN, GLACITE, BOTH;

        @Override
        public String toString() {
            return switch (this) {
                case OFF -> "Off";
                case DWARVEN -> "Dwarven";
                case GLACITE -> "Glacite";
                case BOTH -> "Both";
            };
        }
    }

    public static class Glacite {
        @SerialEntry
        public boolean coldOverlay = true;
    }

    public enum DwarvenHudStyle {
        SIMPLE, FANCY, CLASSIC;

        @Override
        public String toString() {
            return switch (this) {
                case SIMPLE -> "Simple";
                case FANCY -> "Fancy";
                case CLASSIC -> "Classic";
            };
        }
    }
}