generated from srnyx/plugin-template
-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
AnnoyingOptions.java
86 lines (70 loc) · 3.21 KB
/
AnnoyingOptions.java
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
package xyz.srnyx.annoyingapi;
import org.jetbrains.annotations.NotNull;
import xyz.srnyx.annoyingapi.command.AnnoyingCommand;
import xyz.srnyx.annoyingapi.dependency.AnnoyingDependency;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* Represents the options for the API
*/
public class AnnoyingOptions {
/**
* <i>{@code RECOMMENDED}</i> The file name of the messages file <i>(usually {@code messages.yml})</i>
* <p>If not specified, no messages will be loaded (plugin will still enable)
*/
@NotNull public String messagesFileName = "messages.yml";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's global placeholders
*
* @see AnnoyingPlugin#globalPlaceholders
*/
@NotNull public String globalPlaceholders = "plugin.global-placeholders";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's JSON component splitter
*/
@NotNull public String splitterJson = "plugin.splitters.json";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's placeholder component splitter
*/
@NotNull public String splitterPlaceholder = "plugin.splitters.placeholder";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's "no permission" message
*/
@NotNull public String noPermission = "error.no-permission";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's "player-only" message
*/
@NotNull public String playerOnly = "error.player-only";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's "invalid arguments" message
*/
@NotNull public String invalidArguments = "error.invalid-arguments";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingPlugin#messages} key for the plugin's "disabled command" message
*/
@NotNull public String disabledCommand = "error.disabled-command";
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingCommand}s to register (add commands to this in the plugin's constructor)
* <p>If you add a command to this OUTSIDE the constructor, it will not be registered
*/
@NotNull public final Set<AnnoyingCommand> commandsToRegister = new HashSet<>();
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingListener}s to register (add listeners to this in the plugin's constructor)
* <p>If you add a listener to this OUTSIDE the constructor, it will not be registered
*/
@NotNull public final Set<AnnoyingListener> listenersToRegister = new HashSet<>();
/**
* <i>{@code OPTIONAL}</i> The {@link AnnoyingDependency}s to check for (add dependencies to this in the plugin's constructor)
* <p>If you add a dependency to this OUTSIDE the constructor, it will not be checked
*/
@NotNull public final List<AnnoyingDependency> dependencies = new ArrayList<>();
/**
* Constructs a new {@link AnnoyingOptions} instance
* <p><i>Only exists to give the constructor a Javadoc</i>
*/
public AnnoyingOptions() {
// Only exists to give the constructor a Javadoc
}
}