aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config/features/CrimsonIsleConfig.java
blob: b9d00f8cdf281697ecbe9b7a8e4aa53f3dcadb7a (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
package at.hannibal2.skyhanni.config.features;

import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.core.config.Position;
import com.google.gson.annotations.Expose;
import io.github.moulberry.moulconfig.annotations.Accordion;
import io.github.moulberry.moulconfig.annotations.ConfigEditorBoolean;
import io.github.moulberry.moulconfig.annotations.ConfigEditorColour;
import io.github.moulberry.moulconfig.annotations.ConfigEditorDropdown;
import io.github.moulberry.moulconfig.annotations.ConfigEditorKeybind;
import io.github.moulberry.moulconfig.annotations.ConfigOption;
import org.lwjgl.input.Keyboard;

public class CrimsonIsleConfig {

    @ConfigOption(name = "Ashfang", desc = "")
    @Accordion
    @Expose
    public AshfangConfig ashfang = new AshfangConfig();

    public static class AshfangConfig {

        @ConfigOption(name = "Gravity Orbs", desc = "")
        @Accordion
        @Expose
        public GravityOrbsConfig gravityOrbs = new GravityOrbsConfig();

        public static class GravityOrbsConfig {

            @Expose
            @ConfigOption(name = "Enabled", desc = "Shows the Gravity Orbs more clearly.")
            @ConfigEditorBoolean
            @FeatureToggle
            public boolean enabled = false;

            @Expose
            @ConfigOption(name = "Color", desc = "Color of the Gravity Orbs.")
            @ConfigEditorColour
            public String color = "0:120:255:85:85";
        }

        @ConfigOption(name = "Blazing Souls", desc = "")
        @Accordion
        @Expose
        public BlazingSoulsColor blazingSouls = new BlazingSoulsColor();

        public static class BlazingSoulsColor {

            @Expose
            @ConfigOption(name = "Enabled", desc = "Shows the Blazing Souls more clearly.")
            @ConfigEditorBoolean
            @FeatureToggle
            public boolean enabled = false;

            @Expose
            @ConfigOption(name = "Souls Color", desc = "Color of the Blazing Souls.")
            @ConfigEditorColour
            public String color = "0:245:85:255:85";
        }

        @ConfigOption(name = "Hide Stuff", desc = "")
        @Accordion
        @Expose
        public HideAshfangConfig hide = new HideAshfangConfig();

        public static class HideAshfangConfig {

            @Expose
            @ConfigOption(name = "Hide Particles", desc = "Hide particles around the Ashfang boss.")
            @ConfigEditorBoolean
            @FeatureToggle
            public boolean particles = false;

            @Expose
            @ConfigOption(name = "Hide Full Names", desc = "Hide the names of full health blazes around Ashfang (only useful when highlight blazes is enabled)")
            @ConfigEditorBoolean
            @FeatureToggle
            public boolean fullNames = false;

            @Expose
            @ConfigOption(name = "Hide Damage Splash", desc = "Hide damage splashes around Ashfang.")
            @ConfigEditorBoolean
            @FeatureToggle
            public boolean damageSplash = false;
        }

        @Expose
        @ConfigOption(name = "Highlight Blazes", desc = "Highlight the different blazes in their respective colors.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean highlightBlazes = false;

        @Expose
        @ConfigOption(name = "Freeze Cooldown", desc = "Show the cooldown for how long Ashfang blocks your abilities.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean freezeCooldown = false;

        @Expose
        public Position freezeCooldownPos = new Position(10, 10, false, true);

        @Expose
        @ConfigOption(name = "Reset Time", desc = "Show the cooldown until Ashfang pulls his underlings back.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean nextResetCooldown = false;

        @Expose
        public Position nextResetCooldownPos = new Position(10, 10, false, true);
    }

    @ConfigOption(name = "Reputation Helper", desc = "")
    @Accordion
    @Expose
    public ReputationHelperConfig reputationHelper = new ReputationHelperConfig();

    public static class ReputationHelperConfig {

        @Expose
        @ConfigOption(name = "Enabled", desc = "Enable features around Reputation features in the Crimson Isle.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean enabled = true;

        @Expose
        @ConfigOption(name = "Use Hotkey", desc = "Only show the Reputation Helper while pressing the hotkey.")
        @ConfigEditorBoolean
        public boolean useHotkey = false;

        @Expose
        @ConfigOption(name = "Hotkey", desc = "Press this hotkey to show the Reputation Helper.")
        @ConfigEditorKeybind(defaultKey = Keyboard.KEY_NONE)
        public int hotkey = Keyboard.KEY_NONE;


        @Expose
        public Position position = new Position(10, 10, false, true);

        @Expose
        @ConfigOption(name = "Show Locations", desc = "Crimson Isles waypoints for locations to get reputation.")
        @ConfigEditorDropdown(values = {"Always", "Only With Hotkey", "Never"})
        public int showLocation = 1;
    }

    @Expose
    @ConfigOption(name = "Quest Item Helper", desc = "When you open the fetch item quest in the town board, " +
            "it shows a clickable chat message that will grab the items needed from the sacks.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean questItemHelper = false;
}