null checks
This commit is contained in:
@@ -49,6 +49,9 @@ public class Main extends Plugin implements Listener {
|
|||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
plugin = this;
|
plugin = this;
|
||||||
|
|
||||||
|
config = new BungeeConfig(this);
|
||||||
|
checkConfig();
|
||||||
|
|
||||||
LinkedHashMap<String, String> d = new LinkedHashMap<>();
|
LinkedHashMap<String, String> d = new LinkedHashMap<>();
|
||||||
|
|
||||||
|
|
||||||
@@ -110,9 +113,6 @@ public class Main extends Plugin implements Listener {
|
|||||||
msgs = BungeeMessages.getInstance(this, d);
|
msgs = BungeeMessages.getInstance(this, d);
|
||||||
//msgs = BungeeMessages.getInstance(this);
|
//msgs = BungeeMessages.getInstance(this);
|
||||||
|
|
||||||
config = new BungeeConfig(this);
|
|
||||||
checkConfig();
|
|
||||||
|
|
||||||
aliases = new AliasManager(this);
|
aliases = new AliasManager(this);
|
||||||
|
|
||||||
moveCommand = new MoveCommand(this);
|
moveCommand = new MoveCommand(this);
|
||||||
@@ -144,6 +144,9 @@ public class Main extends Plugin implements Listener {
|
|||||||
|
|
||||||
|
|
||||||
public void checkConfig() {
|
public void checkConfig() {
|
||||||
|
if(config == null) {
|
||||||
|
getLogger().warning("Config is null!");
|
||||||
|
}
|
||||||
List<String> svs = getConfig().getStringList("queue-servers");
|
List<String> svs = getConfig().getStringList("queue-servers");
|
||||||
for(String s : svs) {
|
for(String s : svs) {
|
||||||
if(!s.contains(":")) {
|
if(!s.contains(":")) {
|
||||||
|
|||||||
@@ -185,10 +185,14 @@ public class Manager {
|
|||||||
* Also creates/edits server groups
|
* Also creates/edits server groups
|
||||||
*/
|
*/
|
||||||
public void reloadServers() {
|
public void reloadServers() {
|
||||||
|
if(pl.config == null) {
|
||||||
|
pl.getLogger().warning("[MAN] Config is null");
|
||||||
|
}
|
||||||
Map<String, ServerInfo> svs = ProxyServer.getInstance().getServers();
|
Map<String, ServerInfo> svs = ProxyServer.getInstance().getServers();
|
||||||
for(String name : svs.keySet()) {
|
for(String name : svs.keySet()) {
|
||||||
if(findServer(name) != null) continue;
|
if(findServer(name) != null) continue;
|
||||||
ServerInfo info = svs.get(name);
|
ServerInfo info = svs.get(name);
|
||||||
|
//pl.getLogger().info("Adding server "+name);
|
||||||
servers.add(new QueueServer(name, info));
|
servers.add(new QueueServer(name, info));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -362,10 +366,12 @@ public class Manager {
|
|||||||
for(QueueServer s : servers) {
|
for(QueueServer s : servers) {
|
||||||
int ot = s.getOfflineTime();
|
int ot = s.getOfflineTime();
|
||||||
List<ProxiedPlayer> plys = s.getQueue();
|
List<ProxiedPlayer> plys = s.getQueue();
|
||||||
for(ProxiedPlayer ply : plys) {
|
Iterator<ProxiedPlayer> it = plys.iterator();
|
||||||
|
while(it.hasNext()) {
|
||||||
|
ProxiedPlayer ply = it.next();
|
||||||
int pos = plys.indexOf(ply)+1;
|
int pos = plys.indexOf(ply)+1;
|
||||||
if(pos == 0) {
|
if(pos == 0) {
|
||||||
plys.remove(ply);
|
it.remove();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int len = plys.size();
|
int len = plys.size();
|
||||||
@@ -389,6 +395,8 @@ public class Manager {
|
|||||||
status = msgs.get("status.offline.paused");
|
status = msgs.get("status.offline.paused");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(status.isEmpty()) return;
|
||||||
|
|
||||||
ply.sendMessage(Main.formatMessage(
|
ply.sendMessage(Main.formatMessage(
|
||||||
msgs.get("status.offline.base")
|
msgs.get("status.offline.base")
|
||||||
.replaceAll("\\{STATUS\\}", status)
|
.replaceAll("\\{STATUS\\}", status)
|
||||||
@@ -397,6 +405,7 @@ public class Manager {
|
|||||||
.replaceAll("\\{SERVER\\}", pl.aliases.getAlias(s.getName()))
|
.replaceAll("\\{SERVER\\}", pl.aliases.getAlias(s.getName()))
|
||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
|
if(msgs.get("spigot.actionbar.offline").isEmpty()) return;
|
||||||
int time = (int) Math.round(pos*pl.timeBetweenPlayers);
|
int time = (int) Math.round(pos*pl.timeBetweenPlayers);
|
||||||
int min = (int) Math.floor((time) / (60));
|
int min = (int) Math.floor((time) / (60));
|
||||||
int sec = (int) Math.floor((time % (60)));
|
int sec = (int) Math.floor((time % (60)));
|
||||||
@@ -430,6 +439,7 @@ public class Manager {
|
|||||||
*/
|
*/
|
||||||
public QueueServer findServer(String name) {
|
public QueueServer findServer(String name) {
|
||||||
for(QueueServer server : servers) {
|
for(QueueServer server : servers) {
|
||||||
|
if(server == null) continue;
|
||||||
if(server.getName().equals(name)) {
|
if(server.getName().equals(name)) {
|
||||||
return server;
|
return server;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,20 +18,15 @@ public class QueueServer {
|
|||||||
List<ServerInfo> servers;
|
List<ServerInfo> servers;
|
||||||
|
|
||||||
public QueueServer(String name, ServerInfo info) {
|
public QueueServer(String name, ServerInfo info) {
|
||||||
if(Manager.getInstance() == null || Manager.getInstance().pl.config == null) {
|
init(name, Arrays.asList(info));
|
||||||
ProxyServer.getInstance().getLogger()
|
|
||||||
.warning("[ajQueue] Something tried to load a QueueServer too early! The plugin hasnt fully loaded yet!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.name = name;
|
|
||||||
this.servers = Arrays.asList(info);
|
|
||||||
update();
|
|
||||||
}
|
}
|
||||||
public QueueServer(String name, List<ServerInfo> infos) {
|
public QueueServer(String name, List<ServerInfo> infos) {
|
||||||
if(Manager.getInstance() == null || Manager.getInstance().pl.config == null) {
|
init(name, infos);
|
||||||
|
}
|
||||||
|
private void init(String name, List<ServerInfo> infos) {
|
||||||
|
if(Manager.getInstance() == null || Main.plugin.getConfig() == null) {
|
||||||
ProxyServer.getInstance().getLogger()
|
ProxyServer.getInstance().getLogger()
|
||||||
.warning("[ajQueue] Something tried to load a QueueServer too early! The plugin hasnt fully loaded yet!");
|
.warning("[ajQueue] Something is loading a QueueServer too early! The plugin hasnt fully loaded yet!");
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.servers = infos;
|
this.servers = infos;
|
||||||
@@ -61,13 +56,13 @@ public class QueueServer {
|
|||||||
info.ping(new Callback<ServerPing>() {
|
info.ping(new Callback<ServerPing>() {
|
||||||
@Override
|
@Override
|
||||||
public void done(ServerPing result, Throwable error) {
|
public void done(ServerPing result, Throwable error) {
|
||||||
if(Manager.getInstance() == null || Manager.getInstance().pl.config == null) {
|
if(Manager.getInstance() == null || Main.plugin.getConfig() == null) {
|
||||||
ProxyServer.getInstance().getLogger()
|
ProxyServer.getInstance().getLogger()
|
||||||
.warning("[ajQueue] Something used update() too early! The plugin hasnt fully loaded yet!");
|
.warning("[ajQueue] Something used update() too early! The plugin hasnt fully loaded yet!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
boolean online = error == null;
|
boolean online = error == null;
|
||||||
BungeeConfig config = Manager.getInstance().pl.config;
|
BungeeConfig config = Main.plugin.getConfig();
|
||||||
|
|
||||||
if(config.getBoolean("pinger-debug")) {
|
if(config.getBoolean("pinger-debug")) {
|
||||||
if(error != null) {
|
if(error != null) {
|
||||||
@@ -125,7 +120,7 @@ public class QueueServer {
|
|||||||
}
|
}
|
||||||
long lastOffline = 0;
|
long lastOffline = 0;
|
||||||
public boolean isOnline() {
|
public boolean isOnline() {
|
||||||
BungeeConfig config = Manager.getInstance().pl.config;
|
BungeeConfig config = Main.plugin.getConfig();
|
||||||
if(System.currentTimeMillis()-lastOffline <= (config.getInt("wait-after-online")*1000) && online) {
|
if(System.currentTimeMillis()-lastOffline <= (config.getInt("wait-after-online")*1000) && online) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -136,7 +131,7 @@ public class QueueServer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean justWentOnline() {
|
public boolean justWentOnline() {
|
||||||
BungeeConfig config = Manager.getInstance().pl.config;
|
BungeeConfig config = Main.plugin.getConfig();
|
||||||
return System.currentTimeMillis()-lastOffline <= (config.getDouble("wait-time")) && online;
|
return System.currentTimeMillis()-lastOffline <= (config.getDouble("wait-time")) && online;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user