Search in sources :

Example 1 with Message

use of me.wiefferink.interactivemessenger.processing.Message in project AreaShop by NLthijs48.

the class Utils method formatCurrency.

/**
 * Format the currency amount with the characters before and after.
 * @param amount Amount of money to format
 * @return Currency character format string
 */
public static String formatCurrency(double amount) {
    String before = config.getString("moneyCharacter");
    before = before.replace(AreaShop.currencyEuro, "€");
    String after = config.getString("moneyCharacterAfter");
    after = after.replace(AreaShop.currencyEuro, "€");
    String result;
    // Check for infinite and NaN
    if (Double.isInfinite(amount)) {
        // Infinite symbol
        result = "\u221E";
    } else if (Double.isNaN(amount)) {
        result = "NaN";
    } else {
        BigDecimal bigDecimal = BigDecimal.valueOf(amount);
        boolean stripTrailingZeros = false;
        int fractionalNumber = config.getInt("fractionalNumbers");
        // Add metric suffix if necessary
        if (config.getDouble("metricSuffixesAbove") != -1) {
            String suffix = null;
            double divider = 1;
            for (Double number : suffixes.keySet()) {
                if (amount >= number && number > divider) {
                    divider = number;
                    suffix = suffixes.get(number);
                }
            }
            if (suffix != null) {
                bigDecimal = BigDecimal.valueOf(amount / divider);
                after = suffix + after;
                fractionalNumber = config.getInt("fractionalNumbersShort");
                stripTrailingZeros = true;
            }
        }
        // Round if necessary
        if (fractionalNumber >= 0) {
            bigDecimal = bigDecimal.setScale(fractionalNumber, RoundingMode.HALF_UP);
        }
        result = bigDecimal.toString();
        if (config.getBoolean("hideEmptyFractionalPart")) {
            // Strip zero fractional: 12.00 -> 12
            if (bigDecimal.remainder(BigDecimal.ONE).compareTo(BigDecimal.ZERO) == 0 && result.contains(".")) {
                result = result.substring(0, result.indexOf('.'));
            }
            // Strip zeros from suffixed numbers: 1.20M -> 1.2M
            if (stripTrailingZeros && result.contains(".")) {
                result = result.replaceAll("0+$", "");
            }
        }
    }
    result = result.replace(".", config.getString("decimalMark"));
    Message resultMessage = Message.fromString(result);
    resultMessage.prepend(before);
    resultMessage.append(after);
    return resultMessage.getSingle();
}
Also used : Message(me.wiefferink.interactivemessenger.processing.Message) BigDecimal(java.math.BigDecimal)

Example 2 with Message

use of me.wiefferink.interactivemessenger.processing.Message in project AreaShop by NLthijs48.

the class InfoCommand method showSortedPagedList.

/**
 * Display a page of a list of regions.
 * @param sender      The CommandSender to send the messages to
 * @param regions     The regions to display
 * @param filterGroup The group to filter the regions by
 * @param keyHeader   The header to print above the page
 * @param pageInput   The page number, if any
 * @param baseCommand The command to execute for next/previous page (/areashop will be added)
 */
private void showSortedPagedList(@Nonnull CommandSender sender, @Nonnull List<? extends GeneralRegion> regions, @Nullable RegionGroup filterGroup, @Nonnull String keyHeader, @Nullable String pageInput, @Nonnull String baseCommand) {
    int maximumItems = 20;
    int itemsPerPage = maximumItems - 2;
    int page = 1;
    if (pageInput != null && Utils.isNumeric(pageInput)) {
        try {
            page = Integer.parseInt(pageInput);
        } catch (NumberFormatException e) {
            plugin.message(sender, "info-wrongPage", pageInput);
            return;
        }
    }
    if (filterGroup != null) {
        regions.removeIf(generalRegion -> !filterGroup.isMember(generalRegion));
    }
    if (regions.isEmpty()) {
        plugin.message(sender, "info-noRegions");
    } else {
        // First sort by type, then by name
        regions.sort((one, two) -> {
            int typeCompare = getTypeOrder(two).compareTo(getTypeOrder(one));
            if (typeCompare != 0) {
                return typeCompare;
            } else {
                return one.getName().compareTo(two.getName());
            }
        });
        // Header
        Message limitedToGroup = Message.empty();
        if (filterGroup != null) {
            limitedToGroup = Message.fromKey("info-limitedToGroup").replacements(filterGroup.getName());
        }
        plugin.message(sender, keyHeader, limitedToGroup);
        // Page entries
        // Clip page to correct boundaries, not much need to tell the user
        int totalPages = (int) Math.ceil(regions.size() / (double) itemsPerPage);
        if (regions.size() == itemsPerPage + 1) {
            // 19 total items is mapped to 1 page of 19
            itemsPerPage++;
            totalPages = 1;
        }
        page = Math.max(1, Math.min(totalPages, page));
        // header
        int linesPrinted = 1;
        for (int i = (page - 1) * itemsPerPage; i < page * itemsPerPage && i < regions.size(); i++) {
            String state;
            GeneralRegion region = regions.get(i);
            if (region.getType() == GeneralRegion.RegionType.RENT) {
                if (region.getOwner() == null) {
                    state = "Forrent";
                } else {
                    state = "Rented";
                }
            } else {
                if (region.getOwner() == null) {
                    state = "Forsale";
                } else if (!((BuyRegion) region).isInResellingMode()) {
                    state = "Sold";
                } else {
                    state = "Reselling";
                }
            }
            plugin.messageNoPrefix(sender, "info-entry" + state, region);
            linesPrinted++;
        }
        Message footer = Message.empty();
        // Previous button
        if (page > 1) {
            footer.append(Message.fromKey("info-pagePrevious").replacements(baseCommand + " " + (page - 1)));
        } else {
            footer.append(Message.fromKey("info-pageNoPrevious"));
        }
        // Page status
        if (totalPages > 1) {
            String pageString = "" + page;
            for (int i = pageString.length(); i < (totalPages + "").length(); i++) {
                pageString = "0" + pageString;
            }
            footer.append(Message.fromKey("info-pageStatus").replacements(page, totalPages));
            if (page < totalPages) {
                footer.append(Message.fromKey("info-pageNext").replacements(baseCommand + " " + (page + 1)));
            } else {
                footer.append(Message.fromKey("info-pageNoNext"));
            }
            // Fill up space if the page is not full (aligns header nicely)
            for (int i = linesPrinted; i < maximumItems - 1; i++) {
                sender.sendMessage(" ");
            }
            footer.send(sender);
        }
    }
}
Also used : Message(me.wiefferink.interactivemessenger.processing.Message) BuyRegion(me.wiefferink.areashop.regions.BuyRegion) GeneralRegion(me.wiefferink.areashop.regions.GeneralRegion)

Example 3 with Message

use of me.wiefferink.interactivemessenger.processing.Message in project AreaShop by NLthijs48.

the class Utils method combinedMessage.

/**
 * Create a message with a list of parts.
 * @param replacements The parts to use
 * @param messagePart  The message to use for the parts
 * @param combiner     The string to use as combiner
 * @return A Message object containing the parts combined into one message
 */
public static Message combinedMessage(Collection<?> replacements, String messagePart, String combiner) {
    Message result = Message.empty();
    boolean first = true;
    for (Object part : replacements) {
        if (first) {
            first = false;
        } else {
            result.append(combiner);
        }
        result.append(Message.fromKey(messagePart).replacements(part));
    }
    return result;
}
Also used : Message(me.wiefferink.interactivemessenger.processing.Message)

Example 4 with Message

use of me.wiefferink.interactivemessenger.processing.Message in project AreaShop by NLthijs48.

the class FindCommand method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    if (!sender.hasPermission("areashop.find")) {
        plugin.message(sender, "find-noPermission");
        return;
    }
    if (!(sender instanceof Player)) {
        plugin.message(sender, "cmd-onlyByPlayer");
        return;
    }
    if (args.length <= 1 || args[1] == null || (!args[1].equalsIgnoreCase("buy") && !args[1].equalsIgnoreCase("rent"))) {
        plugin.message(sender, "find-help");
        return;
    }
    Player player = (Player) sender;
    double balance = 0.0;
    if (plugin.getEconomy() != null) {
        balance = plugin.getEconomy().getBalance(player);
    }
    double maxPrice = 0;
    boolean maxPriceSet = false;
    RegionGroup group = null;
    // Parse optional price argument
    if (args.length >= 3) {
        try {
            maxPrice = Double.parseDouble(args[2]);
            maxPriceSet = true;
        } catch (NumberFormatException e) {
            plugin.message(sender, "find-wrongMaxPrice", args[2]);
            return;
        }
    }
    // Parse optional group argument
    if (args.length >= 4) {
        group = plugin.getFileManager().getGroup(args[3]);
        if (group == null) {
            plugin.message(sender, "find-wrongGroup", args[3]);
            return;
        }
    }
    // Find buy regions
    if (args[1].equalsIgnoreCase("buy")) {
        List<BuyRegion> regions = plugin.getFileManager().getBuys();
        List<BuyRegion> results = new ArrayList<>();
        for (BuyRegion region : regions) {
            if (!region.isSold() && ((region.getPrice() <= balance && !maxPriceSet) || (region.getPrice() <= maxPrice && maxPriceSet)) && (group == null || group.isMember(region)) && (region.getBooleanSetting("general.findCrossWorld") || player.getWorld().equals(region.getWorld()))) {
                results.add(region);
            }
        }
        if (!results.isEmpty()) {
            // Draw a random one
            BuyRegion region = results.get(new Random().nextInt(results.size()));
            Message onlyInGroup = Message.empty();
            if (group != null) {
                onlyInGroup = Message.fromKey("find-onlyInGroup").replacements(args[3]);
            }
            // Teleport
            if (maxPriceSet) {
                plugin.message(player, "find-successMax", "buy", Utils.formatCurrency(maxPrice), onlyInGroup, region);
            } else {
                plugin.message(player, "find-success", "buy", Utils.formatCurrency(balance), onlyInGroup, region);
            }
            region.getTeleportFeature().teleportPlayer(player, region.getBooleanSetting("general.findTeleportToSign"), false);
        } else {
            Message onlyInGroup = Message.empty();
            if (group != null) {
                onlyInGroup = Message.fromKey("find-onlyInGroup").replacements(args[3]);
            }
            if (maxPriceSet) {
                plugin.message(player, "find-noneFoundMax", "buy", Utils.formatCurrency(maxPrice), onlyInGroup);
            } else {
                plugin.message(player, "find-noneFound", "buy", Utils.formatCurrency(balance), onlyInGroup);
            }
        }
    } else // Find rental regions
    {
        List<RentRegion> regions = plugin.getFileManager().getRents();
        List<RentRegion> results = new ArrayList<>();
        for (RentRegion region : regions) {
            if (!region.isRented() && ((region.getPrice() <= balance && !maxPriceSet) || (region.getPrice() <= maxPrice && maxPriceSet)) && (group == null || group.isMember(region)) && (region.getBooleanSetting("general.findCrossWorld") || player.getWorld().equals(region.getWorld()))) {
                results.add(region);
            }
        }
        if (!results.isEmpty()) {
            // Draw a random one
            RentRegion region = results.get(new Random().nextInt(results.size()));
            Message onlyInGroup = Message.empty();
            if (group != null) {
                onlyInGroup = Message.fromKey("find-onlyInGroup").replacements(args[3]);
            }
            // Teleport
            if (maxPriceSet) {
                plugin.message(player, "find-successMax", "rent", Utils.formatCurrency(maxPrice), onlyInGroup, region);
            } else {
                plugin.message(player, "find-success", "rent", Utils.formatCurrency(balance), onlyInGroup, region);
            }
            region.getTeleportFeature().teleportPlayer(player, region.getBooleanSetting("general.findTeleportToSign"), false);
        } else {
            Message onlyInGroup = Message.empty();
            if (group != null) {
                onlyInGroup = Message.fromKey("find-onlyInGroup").replacements(args[3]);
            }
            if (maxPriceSet) {
                plugin.message(player, "find-noneFoundMax", "rent", Utils.formatCurrency(maxPrice), onlyInGroup);
            } else {
                plugin.message(player, "find-noneFound", "rent", Utils.formatCurrency(balance), onlyInGroup);
            }
        }
    }
}
Also used : Player(org.bukkit.entity.Player) Random(java.util.Random) Message(me.wiefferink.interactivemessenger.processing.Message) BuyRegion(me.wiefferink.areashop.regions.BuyRegion) ArrayList(java.util.ArrayList) RentRegion(me.wiefferink.areashop.regions.RentRegion) RegionGroup(me.wiefferink.areashop.regions.RegionGroup)

Example 5 with Message

use of me.wiefferink.interactivemessenger.processing.Message in project AreaShop by NLthijs48.

the class InfoCommand method execute.

@Override
public void execute(CommandSender sender, String[] args) {
    if (!sender.hasPermission("areashop.info")) {
        plugin.message(sender, "info-noPermission");
        return;
    }
    if (args.length > 1 && args[1] != null) {
        // Get filter group (only used by some commands)
        RegionGroup filterGroup = null;
        Set<String> groupFilters = new HashSet<>(Arrays.asList("all", "rented", "forrent", "sold", "forsale", "reselling"));
        if (groupFilters.contains(args[1].toLowerCase()) && args.length > 2) {
            if (!Utils.isNumeric(args[2])) {
                filterGroup = plugin.getFileManager().getGroup(args[2]);
                if (filterGroup == null) {
                    plugin.message(sender, "info-noFiltergroup", args[2]);
                    return;
                }
                // Pass page number to args[2] if available
                if (args.length > 3) {
                    args[2] = args[3];
                }
            }
        }
        // All regions
        if (args[1].equalsIgnoreCase("all")) {
            showSortedPagedList(sender, plugin.getFileManager().getRegions(), filterGroup, "info-allHeader", (args.length > 2 ? args[2] : null), "info all");
        } else // Rented regions
        if (args[1].equalsIgnoreCase("rented")) {
            List<RentRegion> regions = plugin.getFileManager().getRents();
            regions.removeIf(RentRegion::isAvailable);
            showSortedPagedList(sender, regions, filterGroup, "info-rentedHeader", (args.length > 2 ? args[2] : null), "info rented");
        } else // Forrent regions
        if (args[1].equalsIgnoreCase("forrent")) {
            List<RentRegion> regions = plugin.getFileManager().getRents();
            regions.removeIf(RentRegion::isRented);
            showSortedPagedList(sender, regions, filterGroup, "info-forrentHeader", (args.length > 2 ? args[2] : null), "info forrent");
        } else // Sold regions
        if (args[1].equalsIgnoreCase("sold")) {
            List<BuyRegion> regions = plugin.getFileManager().getBuys();
            regions.removeIf(BuyRegion::isAvailable);
            showSortedPagedList(sender, regions, filterGroup, "info-soldHeader", (args.length > 2 ? args[2] : null), "info sold");
        } else // Forsale regions
        if (args[1].equalsIgnoreCase("forsale")) {
            List<BuyRegion> regions = plugin.getFileManager().getBuys();
            regions.removeIf(BuyRegion::isSold);
            showSortedPagedList(sender, regions, filterGroup, "info-forsaleHeader", (args.length > 2 ? args[2] : null), "info forsale");
        } else // Reselling regions
        if (args[1].equalsIgnoreCase("reselling")) {
            List<BuyRegion> regions = plugin.getFileManager().getBuys();
            regions.removeIf(region -> !region.isInResellingMode());
            showSortedPagedList(sender, regions, filterGroup, "info-resellingHeader", (args.length > 2 ? args[2] : null), "info reselling");
        } else // List of regions without a group
        if (args[1].equalsIgnoreCase("nogroup")) {
            List<GeneralRegion> regions = plugin.getFileManager().getRegions();
            for (RegionGroup group : plugin.getFileManager().getGroups()) {
                regions.removeAll(group.getMemberRegions());
            }
            if (regions.isEmpty()) {
                plugin.message(sender, "info-nogroupNone");
            } else {
                showSortedPagedList(sender, regions, filterGroup, "info-nogroupHeader", (args.length > 2 ? args[2] : null), "info nogroup");
            }
        } else // Region info
        if (args[1].equalsIgnoreCase("region")) {
            if (args.length > 1) {
                RentRegion rent = null;
                BuyRegion buy = null;
                if (args.length > 2) {
                    rent = plugin.getFileManager().getRent(args[2]);
                    buy = plugin.getFileManager().getBuy(args[2]);
                } else {
                    if (sender instanceof Player) {
                        // get the region by location
                        List<GeneralRegion> regions = Utils.getImportantRegions(((Player) sender).getLocation());
                        if (regions.isEmpty()) {
                            plugin.message(sender, "cmd-noRegionsAtLocation");
                            return;
                        } else if (regions.size() > 1) {
                            plugin.message(sender, "cmd-moreRegionsAtLocation");
                            return;
                        } else {
                            if (regions.get(0) instanceof RentRegion) {
                                rent = (RentRegion) regions.get(0);
                            } else if (regions.get(0) instanceof BuyRegion) {
                                buy = (BuyRegion) regions.get(0);
                            }
                        }
                    } else {
                        plugin.message(sender, "cmd-automaticRegionOnlyByPlayer");
                        return;
                    }
                }
                if (rent == null && buy == null) {
                    plugin.message(sender, "info-regionNotExisting", args[2]);
                    return;
                }
                if (rent != null) {
                    plugin.message(sender, "info-regionHeaderRent", rent);
                    if (rent.isRented()) {
                        plugin.messageNoPrefix(sender, "info-regionRented", rent);
                        plugin.messageNoPrefix(sender, "info-regionExtending", rent);
                        // Money back
                        if (UnrentCommand.canUse(sender, rent)) {
                            plugin.messageNoPrefix(sender, "info-regionMoneyBackRentClick", rent);
                        } else {
                            plugin.messageNoPrefix(sender, "info-regionMoneyBackRent", rent);
                        }
                        // Friends
                        if (!rent.getFriendsFeature().getFriendNames().isEmpty()) {
                            String messagePart = "info-friend";
                            if (DelfriendCommand.canUse(sender, rent)) {
                                messagePart = "info-friendRemove";
                            }
                            plugin.messageNoPrefix(sender, "info-regionFriends", rent, Utils.combinedMessage(rent.getFriendsFeature().getFriendNames(), messagePart));
                        }
                    } else {
                        plugin.messageNoPrefix(sender, "info-regionCanBeRented", rent);
                    }
                    if (rent.getLandlordName() != null) {
                        plugin.messageNoPrefix(sender, "info-regionLandlord", rent);
                    }
                    // Maximum extends
                    if (rent.getMaxExtends() != -1) {
                        if (rent.getMaxExtends() == 0) {
                            plugin.messageNoPrefix(sender, "info-regionNoExtending", rent);
                        } else if (rent.isRented()) {
                            plugin.messageNoPrefix(sender, "info-regionExtendsLeft", rent);
                        } else {
                            plugin.messageNoPrefix(sender, "info-regionMaxExtends", rent);
                        }
                    }
                    // If maxExtends is zero it does not make sense to show this message
                    if (rent.getMaxRentTime() != -1 && rent.getMaxExtends() != 0) {
                        plugin.messageNoPrefix(sender, "info-regionMaxRentTime", rent);
                    }
                    if (rent.getInactiveTimeUntilUnrent() != -1) {
                        plugin.messageNoPrefix(sender, "info-regionInactiveUnrent", rent);
                    }
                    // Teleport
                    Message tp = Message.fromKey("info-prefix");
                    boolean foundSomething = false;
                    if (TeleportCommand.canUse(sender, rent)) {
                        foundSomething = true;
                        tp.append(Message.fromKey("info-regionTeleport").replacements(rent));
                    }
                    if (SetteleportCommand.canUse(sender, rent)) {
                        if (foundSomething) {
                            tp.append(", ");
                        }
                        foundSomething = true;
                        tp.append(Message.fromKey("info-setRegionTeleport").replacements(rent));
                    }
                    if (foundSomething) {
                        tp.append(".");
                        tp.send(sender);
                    }
                    // Signs
                    List<String> signLocations = new ArrayList<>();
                    for (Location location : rent.getSignsFeature().getSignLocations()) {
                        signLocations.add(Message.fromKey("info-regionSignLocation").replacements(location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ()).getPlain());
                    }
                    if (!signLocations.isEmpty()) {
                        plugin.messageNoPrefix(sender, "info-regionSigns", Utils.createCommaSeparatedList(signLocations));
                    }
                    // Groups
                    if (sender.hasPermission("areashop.groupinfo") && !rent.getGroupNames().isEmpty()) {
                        plugin.messageNoPrefix(sender, "info-regionGroups", Utils.createCommaSeparatedList(rent.getGroupNames()));
                    }
                    // Restoring
                    if (rent.isRestoreEnabled()) {
                        plugin.messageNoPrefix(sender, "info-regionRestoringRent", rent);
                    }
                    // Restrictions
                    if (!rent.isRented()) {
                        if (rent.restrictedToRegion()) {
                            plugin.messageNoPrefix(sender, "info-regionRestrictedRegionRent", rent);
                        } else if (rent.restrictedToWorld()) {
                            plugin.messageNoPrefix(sender, "info-regionRestrictedWorldRent", rent);
                        }
                    }
                    plugin.messageNoPrefix(sender, "info-regionFooterRent", rent);
                } else if (buy != null) {
                    plugin.message(sender, "info-regionHeaderBuy", buy);
                    if (buy.isSold()) {
                        if (buy.isInResellingMode()) {
                            plugin.messageNoPrefix(sender, "info-regionReselling", buy);
                            plugin.messageNoPrefix(sender, "info-regionReselPrice", buy);
                        } else {
                            plugin.messageNoPrefix(sender, "info-regionBought", buy);
                        }
                        // Money back
                        if (SellCommand.canUse(sender, buy)) {
                            plugin.messageNoPrefix(sender, "info-regionMoneyBackBuyClick", buy);
                        } else {
                            plugin.messageNoPrefix(sender, "info-regionMoneyBackBuy", buy);
                        }
                        // Friends
                        if (!buy.getFriendsFeature().getFriendNames().isEmpty()) {
                            String messagePart = "info-friend";
                            if (DelfriendCommand.canUse(sender, buy)) {
                                messagePart = "info-friendRemove";
                            }
                            plugin.messageNoPrefix(sender, "info-regionFriends", buy, Utils.combinedMessage(buy.getFriendsFeature().getFriendNames(), messagePart));
                        }
                    } else {
                        plugin.messageNoPrefix(sender, "info-regionCanBeBought", buy);
                    }
                    if (buy.getLandlord() != null) {
                        plugin.messageNoPrefix(sender, "info-regionLandlord", buy);
                    }
                    if (buy.getInactiveTimeUntilSell() != -1) {
                        plugin.messageNoPrefix(sender, "info-regionInactiveSell", buy);
                    }
                    // Teleport
                    Message tp = Message.fromKey("info-prefix");
                    boolean foundSomething = false;
                    if (TeleportCommand.canUse(sender, buy)) {
                        foundSomething = true;
                        tp.append(Message.fromKey("info-regionTeleport").replacements(buy));
                    }
                    if (SetteleportCommand.canUse(sender, buy)) {
                        if (foundSomething) {
                            tp.append(", ");
                        }
                        foundSomething = true;
                        tp.append(Message.fromKey("info-setRegionTeleport").replacements(buy));
                    }
                    if (foundSomething) {
                        tp.append(".");
                        tp.send(sender);
                    }
                    // Signs
                    List<String> signLocations = new ArrayList<>();
                    for (Location location : buy.getSignsFeature().getSignLocations()) {
                        signLocations.add(Message.fromKey("info-regionSignLocation").replacements(location.getWorld().getName(), location.getBlockX(), location.getBlockY(), location.getBlockZ()).getPlain());
                    }
                    if (!signLocations.isEmpty()) {
                        plugin.messageNoPrefix(sender, "info-regionSigns", Utils.createCommaSeparatedList(signLocations));
                    }
                    // Groups
                    if (sender.hasPermission("areashop.groupinfo") && !buy.getGroupNames().isEmpty()) {
                        plugin.messageNoPrefix(sender, "info-regionGroups", Utils.createCommaSeparatedList(buy.getGroupNames()));
                    }
                    // Restoring
                    if (buy.isRestoreEnabled()) {
                        plugin.messageNoPrefix(sender, "info-regionRestoringBuy", buy);
                    }
                    // Restrictions
                    if (!buy.isSold()) {
                        if (buy.restrictedToRegion()) {
                            plugin.messageNoPrefix(sender, "info-regionRestrictedRegionBuy", buy);
                        } else if (buy.restrictedToWorld()) {
                            plugin.messageNoPrefix(sender, "info-regionRestrictedWorldBuy", buy);
                        }
                    }
                    plugin.messageNoPrefix(sender, "info-regionFooterBuy", buy);
                }
            } else {
                plugin.message(sender, "info-regionHelp");
            }
        } else {
            plugin.message(sender, "info-help");
        }
    } else {
        plugin.message(sender, "info-help");
    }
}
Also used : GeneralRegion(me.wiefferink.areashop.regions.GeneralRegion) CommandSender(org.bukkit.command.CommandSender) Arrays(java.util.Arrays) Message(me.wiefferink.interactivemessenger.processing.Message) Set(java.util.Set) Player(org.bukkit.entity.Player) Utils(me.wiefferink.areashop.tools.Utils) ArrayList(java.util.ArrayList) RentRegion(me.wiefferink.areashop.regions.RentRegion) HashSet(java.util.HashSet) List(java.util.List) Location(org.bukkit.Location) RegionGroup(me.wiefferink.areashop.regions.RegionGroup) Nonnull(javax.annotation.Nonnull) BuyRegion(me.wiefferink.areashop.regions.BuyRegion) Nullable(javax.annotation.Nullable) Player(org.bukkit.entity.Player) Message(me.wiefferink.interactivemessenger.processing.Message) ArrayList(java.util.ArrayList) RentRegion(me.wiefferink.areashop.regions.RentRegion) RegionGroup(me.wiefferink.areashop.regions.RegionGroup) BuyRegion(me.wiefferink.areashop.regions.BuyRegion) GeneralRegion(me.wiefferink.areashop.regions.GeneralRegion) ArrayList(java.util.ArrayList) List(java.util.List) HashSet(java.util.HashSet) Location(org.bukkit.Location)

Aggregations

Message (me.wiefferink.interactivemessenger.processing.Message)6 BuyRegion (me.wiefferink.areashop.regions.BuyRegion)4 RegionGroup (me.wiefferink.areashop.regions.RegionGroup)3 RentRegion (me.wiefferink.areashop.regions.RentRegion)3 Player (org.bukkit.entity.Player)3 ArrayList (java.util.ArrayList)2 GeneralRegion (me.wiefferink.areashop.regions.GeneralRegion)2 BlockVector (com.sk89q.worldedit.BlockVector)1 Vector (com.sk89q.worldedit.Vector)1 Selection (com.sk89q.worldedit.bukkit.selections.Selection)1 RegionManager (com.sk89q.worldguard.protection.managers.RegionManager)1 ProtectedCuboidRegion (com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion)1 BigDecimal (java.math.BigDecimal)1 Arrays (java.util.Arrays)1 HashSet (java.util.HashSet)1 List (java.util.List)1 Random (java.util.Random)1 Set (java.util.Set)1 Nonnull (javax.annotation.Nonnull)1 Nullable (javax.annotation.Nullable)1