diff --git a/src/main/java/me/jaimemartz/lobbybalancer/section/SectionManager.java b/src/main/java/me/jaimemartz/lobbybalancer/section/SectionManager.java index 9eea5cc..2af2d38 100644 --- a/src/main/java/me/jaimemartz/lobbybalancer/section/SectionManager.java +++ b/src/main/java/me/jaimemartz/lobbybalancer/section/SectionManager.java @@ -99,7 +99,11 @@ public class SectionManager { return principal; } - protected void setPrincipal(ServerSection principal) { + void setPrincipal(ServerSection principal) { this.principal = principal; } + + boolean hasPrincipal() { + return principal != null; + } } diff --git a/src/main/java/me/jaimemartz/lobbybalancer/section/ServerSection.java b/src/main/java/me/jaimemartz/lobbybalancer/section/ServerSection.java index e89d500..63a3d18 100644 --- a/src/main/java/me/jaimemartz/lobbybalancer/section/ServerSection.java +++ b/src/main/java/me/jaimemartz/lobbybalancer/section/ServerSection.java @@ -124,18 +124,21 @@ public class ServerSection { } //Calculate below principal - iterations = 0; - current = plugin.getSectionManager().getPrincipal(); - while (current != null) { - if (current.equals(this)) { - return iterations; - } + if (plugin.getSectionManager().hasPrincipal()) { + iterations = 0; + current = plugin.getSectionManager().getPrincipal(); + while (current != null) { + if (current.equals(this)) { + return iterations; + } - current = current.getParent(); - iterations--; + current = current.getParent(); + iterations--; + } } - return 0; + //Returns iterations above parents + return iterations; }; try {