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")); }