Package com.bekvon.bukkit.residence.permissions

Examples of com.bekvon.bukkit.residence.permissions.PermissionGroup


        sellAmount.put(areaname, amount);
        return true;
    }

    public void buyPlot(String areaname, Player player, boolean resadmin) {
        PermissionGroup group = gm.getGroup(player);
        if (!resadmin) {
            if (!Residence.getConfigManager().enableEconomy() || Residence.getEconomyManager() == null) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("MarketDisabled"));
                return;
            }
            boolean canbuy = group.canBuyLand() || player.hasPermission("residence.buy");
            if (!canbuy && !resadmin) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
                return;
            }
        }
        if (isForSale(areaname)) {
            ClaimedResidence res = manager.getByName(areaname);
            if (res == null) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("InvalidArea"));
                sellAmount.remove(areaname);
                return;
            }
            if (res.getPermissions().getOwner().equals(player.getName())) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("OwnerBuyFail"));
                return;
            }
            if (Residence.getResidenceManager().getOwnedZoneCount(player.getName()) >= group.getMaxZones() && !resadmin) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("ResidenceTooMany"));
                return;
            }
            Server serv = Residence.getServ();
            int amount = sellAmount.get(areaname);
            if (!resadmin) {
                if (!group.buyLandIgnoreLimits()) {
                    CuboidArea[] areas = res.getAreaArray();
                    for (CuboidArea thisarea : areas) {
                        if (!group.inLimits(thisarea)) {
                            player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("ResidenceBuyTooBig"));
                            return;
                        }
                    }
                }
View Full Code Here


                if (!parent.getPermissions().hasResidencePermission(player, true) && !parent.getPermissions().playerHas(player.getName(), "subzone", true)) {
                    player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("ParentNoPermission"));
                    return false;
                }
            }
            PermissionGroup group = Residence.getPermissionManager().getGroup(player);
            if (!group.canCreateResidences() && !player.hasPermission("residence.create")) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
                return false;
            }
            if (areas.size() >= group.getMaxPhysicalPerResidence()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaMaxPhysical"));
                return false;
            }
            if (!group.inLimits(area)) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaSizeLimit"));
                return false;
            }
            if (group.getMinHeight() > area.getLowLoc().getBlockY()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaLowLimit", ChatColor.YELLOW + String.format("%d", group.getMinHeight())));
                return false;
            }
            if (group.getMaxHeight() < area.getHighLoc().getBlockY()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaHighLimit", ChatColor.YELLOW + String.format("%d", group.getMaxHeight())));
                return false;
            }
            if (parent == null && Residence.getConfigManager().enableEconomy()) {
                int chargeamount = (int) Math.ceil((double) area.getSize() * group.getCostPerBlock());
                if (!TransactionManager.chargeEconomyMoney(player, chargeamount)) {
                    return false;
                }
            }
        }
View Full Code Here

                if (!parent.getPermissions().hasResidencePermission(player, true) && !parent.getPermissions().playerHas(player.getName(), "subzone", true)) {
                    player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("ParentNoPermission"));
                    return false;
                }
            }
            PermissionGroup group = Residence.getPermissionManager().getGroup(player);
            if (!group.canCreateResidences() && !player.hasPermission("residence.create")) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
                return false;
            }
            if (!group.inLimits(newarea)) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaSizeLimit"));
                return false;
            }
            if (group.getMinHeight() > newarea.getLowLoc().getBlockY()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaLowLimit", ChatColor.YELLOW + String.format("%d", group.getMinHeight())));
                return false;
            }
            if (group.getMaxHeight() < newarea.getHighLoc().getBlockY()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("AreaHighLimit", ChatColor.YELLOW + String.format("%d", group.getMaxHeight())));
                return false;
            }
            if (parent == null && Residence.getConfigManager().enableEconomy()) {
                int chargeamount = (int) Math.ceil((double) (newarea.getSize() - oldarea.getSize()) * group.getCostPerBlock());
                if (chargeamount > 0) {
                    if (!TransactionManager.chargeEconomyMoney(player, chargeamount)) {
                        return false;
                    }
                }
View Full Code Here

                if (!this.perms.playerHas(player.getName(), "subzone", this.perms.playerHas(player.getName(), "admin", false))) {
                    player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
                    return false;
                }
            }
            PermissionGroup group = Residence.getPermissionManager().getGroup(player);
            if (this.getZoneDepth() >= group.getMaxSubzoneDepth()) {
                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("SubzoneMaxDepth"));
                return false;
            }
        }
        CuboidArea newArea = new CuboidArea(loc1, loc2);
        Set<Entry<String, ClaimedResidence>> set = subzones.entrySet();
        for (Entry<String, ClaimedResidence> resEntry : set) {
            ClaimedResidence res = resEntry.getValue();
            if (res.checkCollision(newArea)) {
                if (player != null) {
                    player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("SubzoneCollide", ChatColor.YELLOW + resEntry.getKey()));
                }
                return false;
            }
        }
        ClaimedResidence newres;
        if (player != null) {
            newres = new ClaimedResidence(owner, perms.getWorld(), this);
            newres.addArea(player, newArea, name, resadmin);
        } else {
            newres = new ClaimedResidence(owner, perms.getWorld(), this);
            newres.addArea(newArea, name);
        }
        if (newres.getAreaCount() != 0) {
            newres.getPermissions().applyDefaultFlags();
            if (player != null) {
                PermissionGroup group = Residence.getPermissionManager().getGroup(player);
                newres.setEnterMessage(group.getDefaultEnterMessage());
                newres.setLeaveMessage(group.getDefaultLeaveMessage());
            }
            if (Residence.getConfigManager().flagsInherit()) {
                newres.getPermissions().setParent(perms);
            }
            subzones.put(name, newres);
View Full Code Here

        if (message != null) {
            if (message.equals("")) {
                message = null;
            }
        }
        PermissionGroup group = Residence.getPermissionManager().getGroup(perms.getOwner(), perms.getWorld());
        if (!group.canSetEnterLeaveMessages() && !resadmin) {
            player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("OwnerNoPermission"));
            return;
        }
        if (!perms.hasResidencePermission(player, false) && !resadmin) {
            player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
View Full Code Here

        player.sendMessage(ChatColor.GREEN + Residence.getLanguage().getPhrase("SetTeleportLocation"));
    }

    public void tpToResidence(Player reqPlayer, Player targetPlayer, boolean resadmin) {
        if (!resadmin) {
            PermissionGroup group = Residence.getPermissionManager().getGroup(reqPlayer);
            if (!group.hasTpAccess()) {
                reqPlayer.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("TeleportDeny"));
                return;
            }
            if (!reqPlayer.equals(targetPlayer)) {
                reqPlayer.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
View Full Code Here

        }
        else
        {
            resadmin = true;
        }
        PermissionGroup group = Residence.getPermissionManager().getGroup(owner,world);
        for(Entry<String, Boolean> flag : list.cuboidFlags.entrySet())
        {
            if(group.hasFlagAccess(flag.getKey()) || resadmin)
            {
                this.cuboidFlags.put(flag.getKey(), flag.getValue());
            }
            else
            {
                    player.sendMessage(ChatColor.RED+Residence.getLanguage().getPhrase("FlagSetDeny", ChatColor.YELLOW+flag.getKey() + ChatColor.RED));
            }
        }
        for(Entry<String, Map<String, Boolean>> plists : list.playerFlags.entrySet())
        {
            for(Entry<String, Boolean> flag : plists.getValue().entrySet())
            {
                if(group.hasFlagAccess(flag.getKey()) || resadmin)
                {
                    if(!this.playerFlags.containsKey(plists.getKey()))
                        this.playerFlags.put(plists.getKey(), Collections.synchronizedMap(new HashMap<String,Boolean>()));
                    this.playerFlags.get(plists.getKey()).put(flag.getKey(), flag.getValue());
                }
                else
                {
                    player.sendMessage(ChatColor.RED+Residence.getLanguage().getPhrase("FlagSetDeny", ChatColor.YELLOW+flag.getKey() + ChatColor.RED));
                }
            }
        }
        for(Entry<String, Map<String, Boolean>> glists : list.groupFlags.entrySet())
        {
            for(Entry<String, Boolean> flag : glists.getValue().entrySet())
            {
                if(group.hasFlagAccess(flag.getKey()) || resadmin)
                {
                    if(!this.groupFlags.containsKey(glists.getKey()))
                        this.groupFlags.put(glists.getKey(), Collections.synchronizedMap(new HashMap<String,Boolean>()));
                    this.groupFlags.get(glists.getKey()).put(flag.getKey(), flag.getValue());
                }
View Full Code Here

        return true;
    }

    private boolean hasFlagAccess(String player, String flag)
    {
        PermissionGroup group = Residence.getPermissionManager().getGroup(player,world);
        return group.hasFlagAccess(flag);
    }
View Full Code Here

    }

    public void applyDefaultFlags()
    {
        PermissionManager gm = Residence.getPermissionManager();
        PermissionGroup group = gm.getGroup(owner, world);
        Set<Entry<String, Boolean>> dflags = group.getDefaultResidenceFlags();
        Set<Entry<String, Boolean>> dcflags = group.getDefaultCreatorFlags();
        Set<Entry<String, Map<String, Boolean>>> dgflags = group.getDefaultGroupFlags();
        this.applyGlobalDefaults();
        for (Entry<String, Boolean> next : dflags) {
            if (this.checkValidFlag(next.getKey(), true)) {
                if (next.getValue()) {
                    this.setFlag(next.getKey(), FlagState.TRUE);
View Full Code Here

            if(!res.getPermissions().hasResidencePermission(player, true))
            {
                player.sendMessage(ChatColor.RED+Residence.getLanguage().getPhrase("NoPermission"));
                return;
            }
            PermissionGroup group = Residence.getPermissionManager().getGroup(player);
            if(this.getRentableCount(player.getName()) >= group.getMaxRentables())
            {
                player.sendMessage(ChatColor.RED+Residence.getLanguage().getPhrase("ResidenceMaxRent"));
                return;
            }
        }
View Full Code Here

TOP

Related Classes of com.bekvon.bukkit.residence.permissions.PermissionGroup

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.