/
Depends.java
96 lines (82 loc) · 2.82 KB
/
Depends.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
87
88
89
90
91
92
93
94
95
96
package net.aufdemrand.denizen.utilities.depends;
import net.citizensnpcs.Citizens;
import net.milkbowl.vault.chat.Chat;
import net.milkbowl.vault.economy.Economy;
import net.milkbowl.vault.permission.Permission;
import org.bukkit.Bukkit;
import org.bukkit.plugin.RegisteredServiceProvider;
public class Depends {
public static Citizens citizens = null;
public static Economy economy = null;
public static Permission permissions = null;
public static Chat chat = null;
public static boolean hasProgramAB = false;
public void initialize() {
hasProgramAB = checkProgramAB();
setupEconomy();
setupPermissions();
setupChat();
setupCitizens();
}
// Check if Program AB, used for reading Artificial Intelligence Markup
// Language 2.0, is included as a dependency at Denizen/lib/Ab.jar
private boolean checkProgramAB() {
try {
Class.forName("org.alicebot.ab.Bot");
}
catch (ClassNotFoundException e) {
return false;
}
return true;
}
private boolean setupEconomy() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
try {
RegisteredServiceProvider<Economy> rsp = Bukkit.getServer().getServicesManager().getRegistration(Economy.class);
if (rsp == null) {
return false;
}
economy = rsp.getProvider();
}
catch (Exception e) {
}
return economy != null;
}
private boolean setupChat() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
try {
RegisteredServiceProvider<Chat> rsp = Bukkit.getServer().getServicesManager().getRegistration(Chat.class);
chat = rsp.getProvider();
}
catch (Exception e) {
}
return chat != null;
}
private boolean setupPermissions() {
if (Bukkit.getServer().getPluginManager().getPlugin("Vault") == null) {
return false;
}
try {
RegisteredServiceProvider<Permission> rsp = Bukkit.getServer().getServicesManager().getRegistration(Permission.class);
permissions = rsp.getProvider();
}
catch (Exception e) {
}
return permissions != null;
}
private boolean setupCitizens() {
if (Bukkit.getServer().getPluginManager().getPlugin("Citizens") == null) {
return false;
}
try {
citizens = (Citizens) Bukkit.getServer().getPluginManager().getPlugin("Citizens");
}
catch (Exception e) {
}
return citizens != null;
}
}