-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMedievalRoleplayEngine.java
More file actions
106 lines (90 loc) · 3.84 KB
/
MedievalRoleplayEngine.java
File metadata and controls
106 lines (90 loc) · 3.84 KB
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
package dansplugins.rpsystem;
import dansplugins.rpsystem.bstats.Metrics;
import dansplugins.rpsystem.cards.CardLookupService;
import dansplugins.rpsystem.cards.CardLookupServiceImpl;
import dansplugins.rpsystem.cards.CardRepository;
import dansplugins.rpsystem.commands.CommandService;
import dansplugins.rpsystem.config.ConfigService;
import dansplugins.rpsystem.ephemeral.EphemeralData;
import dansplugins.rpsystem.listeners.ChatListener;
import dansplugins.rpsystem.listeners.InteractionListener;
import dansplugins.rpsystem.listeners.JoinListener;
import dansplugins.rpsystem.placeholders.PlaceholderAPI;
import dansplugins.rpsystem.storage.StorageService;
import dansplugins.rpsystem.utils.*;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
public class MedievalRoleplayEngine extends JavaPlugin {
private static final int BSTATS_PLUGIN_ID = 8996;
private final String pluginVersion = "v" + getDescription().getVersion();
public final CardLookupService cardLookupService = new CardLookupServiceImpl(this);
public final CardRepository cardRepository = new CardRepository();
public final CommandService commandService = new CommandService(this);
public final ConfigService configService = new ConfigService(this);
public final EphemeralData ephemeralData = new EphemeralData();
public final Logger logger = new Logger(this);
public final ArgumentParser argumentParser = new ArgumentParser();
public final ColorChecker colorChecker = new ColorChecker(this);
public final Messenger messenger = new Messenger(this);
public final UUIDChecker uuidChecker = new UUIDChecker();
public final StorageService storageService = new StorageService(this);
@Override
public void onEnable() {
if (!(new File("./plugins/MedievalRoleplayEngine/config.yml").exists())) {
configService.saveConfigDefaults();
}
else {
if (isVersionMismatched()) {
configService.handleVersionMismatch();
}
reloadConfig();
}
if (storageService.oldSaveFolderPresent()) {
storageService.legacyLoadCards();
storageService.deleteLegacyFiles(new File("./plugins/medieval-roleplay-engine/"));
storageService.saveCardFileNames();
storageService.saveCards();
}
else {
storageService.loadCards();
}
registerListeners();
new Metrics(this, BSTATS_PLUGIN_ID);
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new PlaceholderAPI(this).register();
} else {
if (isDebugEnabled()) { System.out.println("Couldn't find PlaceholderAPI, no placeholders will be available."); }
}
}
@Override
public void onDisable() {
storageService.saveCardFileNames();
storageService.saveCards();
if (configService.hasBeenAltered()) {
saveConfig();
}
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
return commandService.interpretCommand(sender, label, args);
}
public String getVersion() {
return pluginVersion;
}
public boolean isDebugEnabled() {
return getConfig().getBoolean("debugMode");
}
public boolean isVersionMismatched() {
return !getConfig().getString("version").equalsIgnoreCase(getVersion());
}
private void registerListeners() {
PluginManager manager = getServer().getPluginManager();
manager.registerEvents(new ChatListener(this), this);
manager.registerEvents(new InteractionListener(this), this);
manager.registerEvents(new JoinListener(this), this);
}
}