aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config/features/MinionsConfig.java
blob: a05b913dcb04efd664c3a81f9fea185a9e9f7e62 (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
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.ConfigEditorSlider;
import io.github.moulberry.moulconfig.annotations.ConfigOption;

public class MinionsConfig {

    @Expose
    @ConfigOption(name = "Name Display", desc = "Show the minion name and tier over the minion.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean nameDisplay = true;

    @Expose
    @ConfigOption(name = "Only Tier", desc = "Show only the tier number over the minion. (Useful for Bingo)")
    @ConfigEditorBoolean
    public boolean nameOnlyTier = false;

    @Expose
    @ConfigOption(name = "Last Clicked", desc = "")
    @Accordion
    public LastClickedMinionConfig lastClickedMinion = new LastClickedMinionConfig();

    public static class LastClickedMinionConfig {
        @Expose
        @ConfigOption(name = "Last Minion Display", desc = "Marks the location of the last clicked minion, even through walls.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean display = false;

        @Expose
        @ConfigOption(
                name = "Last Minion Color",
                desc = "The color in which the last minion should be displayed."
        )
        @ConfigEditorColour
        public String color = "0:245:85:255:85";

        @Expose
        @ConfigOption(
                name = "Last Minion Time",
                desc = "Time in seconds how long the last minion should be displayed."
        )
        @ConfigEditorSlider(
                minValue = 3,
                maxValue = 120,
                minStep = 1
        )
        public int time = 20;
    }

    @Expose
    @ConfigOption(name = "Emptied Time", desc = "")
    @Accordion
    public EmptiedTimeConfig emptiedTime = new EmptiedTimeConfig();

    public static class EmptiedTimeConfig {
        @Expose
        @ConfigOption(name = "Emptied Time Display", desc = "Show the time when the hopper in the minion was last emptied.")
        @ConfigEditorBoolean
        @FeatureToggle
        public boolean display = false;

        @Expose
        @ConfigOption(
                name = "Distance",
                desc = "Maximum distance to display minion data."
        )
        @ConfigEditorSlider(
                minValue = 3,
                maxValue = 30,
                minStep = 1
        )
        public int distance = 10;
    }

    @Expose
    @ConfigOption(name = "Hopper Profit Display", desc = "Use the hopper's held coins and the last empty time to calculate the coins per day.")
    @ConfigEditorBoolean
    public boolean hopperProfitDisplay = true;

    @Expose
    public Position hopperProfitPos = new Position(360, 90, false, true);

    @Expose
    @ConfigOption(name = "Hide Mob Nametag", desc = "Hiding the nametag of mobs close to minions.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean hideMobsNametagNearby = false;
}