}
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;
}
}
}
}
EconomyInterface econ = Residence.getEconomyManager();
if (econ == null) {
player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("MarketDisabled"));
return;
}
String buyerName = player.getName();
String sellerName = res.getPermissions().getOwner();
Player sellerNameFix = Residence.getServ().getPlayer(sellerName);
if (sellerNameFix != null) {
sellerName = sellerNameFix.getName();
}
if (econ.canAfford(buyerName, amount)) {
if (!econ.transfer(buyerName, sellerName, amount)) {
player.sendMessage(ChatColor.RED + "Error, could not transfer " + amount + " from " + buyerName + " to " + sellerName);
return;
}
res.getPermissions().setOwner(player.getName(), true);
res.getPermissions().applyDefaultFlags();
this.removeFromSale(areaname);
player.sendMessage(ChatColor.GREEN + Residence.getLanguage().getPhrase("MoneyCharged", ChatColor.YELLOW + String.format("%d", amount) + ChatColor.GREEN + "." + ChatColor.YELLOW + econ.getName() + ChatColor.GREEN));
player.sendMessage(ChatColor.GREEN + Residence.getLanguage().getPhrase("ResidenceBought", ChatColor.GREEN + areaname + ChatColor.YELLOW));
Player seller = serv.getPlayer(sellerName);
if (seller != null && seller.isOnline()) {
seller.sendMessage(ChatColor.GREEN + Residence.getLanguage().getPhrase("ResidenceBuy", ChatColor.YELLOW + player.getName() + ChatColor.GREEN + "." + ChatColor.YELLOW + areaname + ChatColor.GREEN));
seller.sendMessage(ChatColor.GREEN + Residence.getLanguage().getPhrase("MoneyCredit", ChatColor.YELLOW + String.format("%d", amount) + ChatColor.GREEN + "." + ChatColor.YELLOW + econ.getName() + ChatColor.GREEN));
}
} else {