Exemplo n.º 1
0
 public void giveResidence(
     Player reqPlayer, String targPlayer, String residence, boolean resadmin) {
   ClaimedResidence res = getByName(residence);
   if (res == null) {
     reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("InvalidResidence"));
     return;
   }
   if (!res.getPermissions().hasResidencePermission(reqPlayer, true) && !resadmin) {
     reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("NoPermission"));
     return;
   }
   Player giveplayer = Residence.getServ().getPlayer(targPlayer);
   if (giveplayer == null || !giveplayer.isOnline()) {
     reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("NotOnline"));
     return;
   }
   CuboidArea[] areas = res.getAreaArray();
   PermissionGroup g = Residence.getPermissionManager().getGroup(giveplayer);
   if (areas.length > g.getMaxPhysicalPerResidence() && !resadmin) {
     reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("ResidenceGiveLimits"));
     return;
   }
   if (getOwnedZoneCount(giveplayer.getName()) >= g.getMaxZones() && !resadmin) {
     reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("ResidenceGiveLimits"));
     return;
   }
   if (!resadmin) {
     for (CuboidArea area : areas) {
       if (!g.inLimits(area)) {
         reqPlayer.sendMessage("§c" + Residence.getLanguage().getPhrase("ResidenceGiveLimits"));
         return;
       }
     }
   }
   res.getPermissions().setOwner(giveplayer.getName(), true);
   reqPlayer.sendMessage(
       "§a"
           + Residence.getLanguage()
               .getPhrase(
                   "ResidenceGive", "§e" + residence + "§a.§e" + giveplayer.getName() + "§a"));
   giveplayer.sendMessage(
       Residence.getLanguage()
           .getPhrase(
               "ResidenceRecieve", "§a" + reqPlayer.getName() + "§e.§a" + residence + "§e"));
 }