diff --git a/src/main/java/net/knarcraft/stargate/Stargate.java b/src/main/java/net/knarcraft/stargate/Stargate.java index 1b4039a..1e0f3da 100644 --- a/src/main/java/net/knarcraft/stargate/Stargate.java +++ b/src/main/java/net/knarcraft/stargate/Stargate.java @@ -139,6 +139,15 @@ public class Stargate extends JavaPlugin { return logger; } + /** + * Gets the max length of portal names and networks + * + * @return

The max portal name/network length

+ */ + public static int getMaxNameNetworkLength() { + return 13; + } + /** * Sends a debug message * diff --git a/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java b/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java index 1b4e9b6..dac659f 100644 --- a/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java +++ b/src/main/java/net/knarcraft/stargate/portal/PortalCreator.java @@ -22,6 +22,8 @@ import org.bukkit.event.block.SignChangeEvent; import java.util.List; import java.util.Map; +import static net.knarcraft.stargate.Stargate.getMaxNameNetworkLength; + /** * The portal creator can create and validate a new portal */ @@ -105,7 +107,8 @@ public class PortalCreator { Stargate.debug("createPortal", builder.toString()); //Use default network if a proper alternative is not set - if (!portalOptions.get(PortalOption.BUNGEE) && (network.length() < 1 || network.length() > 11)) { + if (!portalOptions.get(PortalOption.BUNGEE) && (network.length() < 1 || network.length() > + getMaxNameNetworkLength())) { network = Stargate.getDefaultNetwork(); } @@ -117,8 +120,8 @@ public class PortalCreator { Stargate.debug("createPortal", "Player doesn't have create permissions on network. Trying personal"); if (PermissionHelper.canCreatePersonalPortal(player)) { network = player.getName(); - if (network.length() > 11) { - network = network.substring(0, 11); + if (network.length() > getMaxNameNetworkLength()) { + network = network.substring(0, getMaxNameNetworkLength()); } Stargate.debug("createPortal", "Creating personal portal"); Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString("createPersonal")); @@ -228,8 +231,9 @@ public class PortalCreator { */ private boolean checkIfNewPortalIsValid(int cost, String portalName) { //Check if the portal name can fit on the sign with padding (>name<) - if (portal.getCleanName().length() < 1 || portal.getCleanName().length() > 13) { - Stargate.debug("createPortal", "Name length error"); + if (portal.getCleanName().length() < 1 || portal.getCleanName().length() > getMaxNameNetworkLength()) { + Stargate.debug("createPortal", String.format("Name length error. %s is too long.", + portal.getCleanName())); Stargate.getMessageSender().sendErrorMessage(player, Stargate.getString("createNameLength")); return false; } diff --git a/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java b/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java index 6c0c226..9454c43 100644 --- a/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java +++ b/src/main/java/net/knarcraft/stargate/utility/PermissionHelper.java @@ -8,6 +8,8 @@ import net.knarcraft.stargate.portal.teleporter.PlayerTeleporter; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerMoveEvent; +import static net.knarcraft.stargate.Stargate.getMaxNameNetworkLength; + /** * Helper class for deciding which actions a player is allowed to perform */ @@ -200,8 +202,8 @@ public final class PermissionHelper { } //Is able to create personal gates (Assumption is made they can also access them) String playerName = player.getName(); - if (playerName.length() > 11) { - playerName = playerName.substring(0, 11); + if (playerName.length() > getMaxNameNetworkLength()) { + playerName = playerName.substring(0, getMaxNameNetworkLength()); } return !network.equals(playerName) || !hasPermission(player, "stargate.create.personal"); }