summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config/features/slayer/SlayerConfig.java
blob: fedace9995e34572670522e799ed168bbe1eef7f (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
package at.hannibal2.skyhanni.config.features.slayer;

import at.hannibal2.skyhanni.config.FeatureToggle;
import at.hannibal2.skyhanni.config.features.slayer.blaze.BlazeConfig;
import at.hannibal2.skyhanni.config.features.slayer.endermen.EndermanConfig;
import at.hannibal2.skyhanni.config.features.slayer.vampire.VampireConfig;
import com.google.gson.annotations.Expose;
import io.github.notenoughupdates.moulconfig.annotations.Accordion;
import io.github.notenoughupdates.moulconfig.annotations.Category;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorBoolean;
import io.github.notenoughupdates.moulconfig.annotations.ConfigEditorSlider;
import io.github.notenoughupdates.moulconfig.annotations.ConfigOption;

public class SlayerConfig {

    @Expose
    @Category(name = "Enderman", desc = "Enderman Slayer Feature")
    @Accordion
    // TODO rename to "enderman"
    public EndermanConfig endermen = new EndermanConfig();

    @Expose
    @Category(name = "Blaze", desc = "Blaze Slayer Features")
    // TODO rename to "blaze"
    public BlazeConfig blazes = new BlazeConfig();

    @Expose
    @Category(name = "Vampire", desc = "Vampire Slayer Features")
    public VampireConfig vampire = new VampireConfig();

    @Expose
    @ConfigOption(name = "Item Profit Tracker", desc = "")
    @Accordion
    public ItemProfitTrackerConfig itemProfitTracker = new ItemProfitTrackerConfig();

    @Expose
    @ConfigOption(name = "Items on Ground", desc = "")
    @Accordion
    public ItemsOnGroundConfig itemsOnGround = new ItemsOnGroundConfig();

    @Expose
    @ConfigOption(name = "RNG Meter Display", desc = "")
    @Accordion
    public RngMeterDisplayConfig rngMeterDisplay = new RngMeterDisplayConfig();

    @Expose
    @ConfigOption(name = "Boss Spawn Warning", desc = "")
    @Accordion
    public SlayerBossWarningConfig slayerBossWarning = new SlayerBossWarningConfig();

    @Expose
    @ConfigOption(name = "Miniboss Highlight", desc = "Highlight Slayer Mini-Boss in blue color.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean slayerMinibossHighlight = false;

    @Expose
    @ConfigOption(name = "Line to Miniboss", desc = "Add a line to every Slayer Mini-Boss around you.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean slayerMinibossLine = false;

    @Expose
    @ConfigOption(name = "Line to Miniboss Width", desc = "The width of the line pointing to every Slayer Mini-Boss around you.")
    @ConfigEditorSlider(minStep = 1, minValue = 1, maxValue = 10)
    public int slayerMinibossLineWidth = 3;

    @Expose
    @ConfigOption(name = "Hide Mob Names", desc = "Hide the name of the mobs you need to kill in order for the Slayer boss to spawn. Exclude mobs that are damaged, corrupted, runic or semi rare.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean hideMobNames = false;

    @Expose
    @ConfigOption(name = "Quest Warning", desc = "Warn when wrong Slayer quest is selected, or killing mobs for the wrong Slayer.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean questWarning = true;

    @Expose
    @ConfigOption(name = "Quest Warning Title", desc = "Send a title when warning.")
    @ConfigEditorBoolean
    @FeatureToggle
    public boolean questWarningTitle = true;
}