@Command(aliases = {"list", "l"}, usage = "[page]", flags = "", desc = "Lists all ports", help = "Lists all JumpPorts", min = 0, max = 1)
    @CommandPermissions("jumpports.list")
    @Console
    public static void list(CommandContext args, CommandSender sender)
            throws CommandException {
        List<JumpPort> ports = JumpPorts.getList();
        Collections.sort(ports, new JumpPortsComparator());

        final int totalSize = ports.size();
        final int pageSize = 6;
        final int pages = (int) Math.ceil(totalSize / (float) pageSize);
        int page = args.getInteger(0, 1) - 1;

        if (page < 0) {
            page = 0;
        }

        if (page < pages) {
            sender.sendMessage(Lang.get("list.ports")
                    .replaceAll("%P", "" + (page + 1))
                    .replaceAll("%T", "" + pages));
            for (int i = page * pageSize; i < page * pageSize + pageSize; i++) {
                if (i >= totalSize) {
                    break;
                }
                JumpPort port = ports.get(i);
                String price = "" + port.getPrice();
                if (port.getPrice() == 0.00) {
                    price = "Free";
                }
                if (port.isEnabled()) {
                    sender.sendMessage(Lang.get("list.entryEnabled")
                            .replaceAll("%N", port.getName())
                            .replaceAll("%D", port.getDescription())
                            .replaceAll("%P", "" + price));
                } else {
                    sender.sendMessage(Lang.get("list.entryDisabled")
                            .replaceAll("%N", port.getName())
                            .replaceAll("%D", port.getDescription())
                            .replaceAll("%P", "" + price));
                }
            }
        } else {
            sender.sendMessage(Lang.get("exceptions.invalidPage"));
        }

    }