Whether this portal activator's portal is active
*/ public boolean isActive() { - return portal.getOptions().isFixed() || (destinations.size() > 0); + return portal.getOptions().isFixed() || (!destinations.isEmpty()); } /** @@ -255,7 +255,7 @@ public class PortalActivator { } //If no destinations are available, just tell the player and quit - if (destinations.size() == 0) { + if (destinations.isEmpty()) { if (!portal.getOptions().isSilent()) { Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.NO_DESTINATION)); } diff --git a/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java b/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java index cdfffd4..822b012 100644 --- a/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java +++ b/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java @@ -171,7 +171,7 @@ public class PortalCreator { String route = "PortalCreator::getNetworkName"; //Use default network if a proper alternative is not set - if (portalStrings.network().length() < 1 || portalStrings.network().length() > getMaxNameNetworkLength()) { + if (portalStrings.network().isEmpty() || portalStrings.network().length() > getMaxNameNetworkLength()) { network = Stargate.getDefaultNetwork(); } @@ -207,7 +207,7 @@ public class PortalCreator { } //Check if the user can create portals to this world. - if (!bungee && destinationName.length() > 0) { + if (!bungee && !destinationName.isEmpty()) { Portal destinationPortal = PortalHandler.getByName(destinationName, network); if (destinationPortal != null && destinationPortal.getWorld() != null) { String world = destinationPortal.getWorld().getName(); @@ -294,7 +294,7 @@ public class PortalCreator { String route = "PortalCreator::checkIfNewPortalIsValid"; //Check if the portal name can fit on the sign with padding (>name<) - if (portal.getCleanName().length() < 1 || portal.getCleanName().length() > getMaxNameNetworkLength()) { + if (portal.getCleanName().isEmpty() || portal.getCleanName().length() > getMaxNameNetworkLength()) { Stargate.debug(route, String.format("Name length error. %s is too long.", portal.getCleanName())); Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString(Message.CREATION_NAME_LENGTH)); diff --git a/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java b/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java index e0cfdd0..9bc56f3 100644 --- a/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java +++ b/src/main/java/net/knarcraft/stargate/portal/PortalHandler.java @@ -251,7 +251,7 @@ public class PortalHandler { } //Can not create a non-fixed always-on portal - if (portalOptions.get(PortalOption.ALWAYS_ON) && destinationName.length() == 0) { + if (portalOptions.get(PortalOption.ALWAYS_ON) && destinationName.isEmpty()) { portalOptions.put(PortalOption.ALWAYS_ON, false); } diff --git a/src/main/java/net/knarcraft/stargate/portal/PortalRegistry.java b/src/main/java/net/knarcraft/stargate/portal/PortalRegistry.java index f2def13..4a4b366 100644 --- a/src/main/java/net/knarcraft/stargate/portal/PortalRegistry.java +++ b/src/main/java/net/knarcraft/stargate/portal/PortalRegistry.java @@ -255,7 +255,7 @@ public class PortalRegistry { * @param portalThe portal to register
*/ public static void registerPortal(@NotNull Portal portal) { - portal.getOptions().setFixed(portal.getDestinationName().length() > 0 || portal.getOptions().isRandom() || + portal.getOptions().setFixed(!portal.getDestinationName().isEmpty() || portal.getOptions().isRandom() || portal.getOptions().isBungee()); String portalName = portal.getCleanName(); diff --git a/src/main/java/net/knarcraft/stargate/portal/property/PortalOwner.java b/src/main/java/net/knarcraft/stargate/portal/property/PortalOwner.java index 13b39e1..9bb9389 100644 --- a/src/main/java/net/knarcraft/stargate/portal/property/PortalOwner.java +++ b/src/main/java/net/knarcraft/stargate/portal/property/PortalOwner.java @@ -6,8 +6,6 @@ import org.bukkit.OfflinePlayer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.HashMap; -import java.util.Map; import java.util.UUID; /** @@ -15,7 +13,6 @@ import java.util.UUID; */ public class PortalOwner { - private static final MapA UUID, or a username for legacy support
*/ public PortalOwner(@NotNull String ownerIdentifier) { - if (fetchedPlayers.containsKey(ownerIdentifier)) { - OfflinePlayer player = fetchedPlayers.get(ownerIdentifier); - this.ownerUUID = player.getUniqueId(); - this.ownerName = player.getName(); - } else { - parseIdentifier(ownerIdentifier); - } + parseIdentifier(ownerIdentifier); } /** @@ -77,6 +68,12 @@ public class PortalOwner { */ @NotNull public String getName() { + if (this.ownerUUID != null && this.ownerName == null) { + this.ownerName = fetchName(); + if (this.ownerName == null) { + this.ownerName = "UNKNOWN!"; + } + } return ownerName; } @@ -108,14 +105,11 @@ public class PortalOwner { */ private void parseIdentifier(@NotNull String ownerIdentifier) { UUID ownerUUID = null; - String ownerName; + String ownerName = null; if (ownerIdentifier.length() > 16) { //If more than 16 characters, the string cannot be a username, so it's probably a UUID try { ownerUUID = UUID.fromString(ownerIdentifier); - OfflinePlayer offlineOwner = Bukkit.getServer().getOfflinePlayer(ownerUUID); - fetchedPlayers.put(ownerIdentifier, offlineOwner); - ownerName = offlineOwner.getName(); } catch (IllegalArgumentException exception) { //Invalid as UUID and username, so just keep it as owner name and hope the server owner fixes it ownerName = ownerIdentifier; @@ -129,4 +123,14 @@ public class PortalOwner { this.ownerUUID = ownerUUID; } + /** + * Gets the name of a player + * + * @returnThe player to get the name of
+ */ + @Nullable + private String fetchName() { + return Bukkit.getServer().getOfflinePlayer(ownerUUID).getName(); + } + }