blob: 67c1063ddb910069ee519cc454b7b645aafe0e5e (
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
|
package com.redstoner.modules;
import com.redstoner.annotations.Version;
import com.redstoner.coremods.moduleLoader.ModuleLoader;
/**
* Interface for the Module class. Modules must always have an empty constructor to be invoked by the ModuleLoader.
*
* @author Pepich
*/
@Version (major = 4, minor = 0, revision = 0, compatible = 0)
public interface Module {
/** Will be called when the module gets enabled. */
public default boolean onEnable() {
return true;
}
/**
* This methods gets called after all modules were enabled, please use this method to register commands and similar. <br/>
* It will only get called if and only if the module was successfully enabled.
*/
public default void postEnable() {}
/** Will be called when the module gets disabled. */
public default void onDisable() {}
/**
* Gets called on registration of the module, when this option is selected for command registration
*
* @return The String used for the CommandManager to register the commands.
*/
public default String getCommandString() {
return null;
}
/** This method gets run the very first time a module gets loaded. You can use this to set up file structures or background data. */
public default void firstLoad() {}
/**
* This method gets run every time a module gets loaded and its version has changed.
*
* @param old The version of the previous module.
*/
public default void migrate(Version old) {}
default void setPrefix(final String name) {
getLogger().setName(name);
}
public default ModuleLogger getLogger() {
return ModuleLoader.getModuleLogger(this);
}
}
|