null checks

This commit is contained in:
ajgeiss0702
2020-08-22 09:25:37 -07:00
parent e8a019405b
commit 440d095111
3 changed files with 28 additions and 20 deletions
+6 -3
View File
@@ -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(":")) {
+12 -2
View File
@@ -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;
} }
+10 -15
View File
@@ -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;
} }