mirror of
https://github.com/NLthijs48/AreaShop.git
synced 2024-07-11 22:25:30 +02:00
Fix landlord UUID/name handling
Also changes handling of buyer/renter UUIDs and names, if the playerdata of a player is not available anymore AreaShop will still be able to display his name. Also unrenting/selling will still properly pay back the player through Vault (by name instead of UUID). Fixes #35
This commit is contained in:
parent
f76c1b8a9f
commit
9f436a7eb4
|
@ -865,7 +865,14 @@ public final class AreaShop extends JavaPlugin implements AreaShopInterface {
|
|||
if(uuid == null) {
|
||||
return "";
|
||||
} else {
|
||||
return this.toName(UUID.fromString(uuid));
|
||||
UUID parsed = null;
|
||||
try {
|
||||
parsed = UUID.fromString(uuid);
|
||||
} catch(IllegalArgumentException e) {}
|
||||
if(parsed == null) {
|
||||
return "";
|
||||
}
|
||||
return this.toName(parsed);
|
||||
}
|
||||
}
|
||||
/**
|
||||
|
@ -880,9 +887,8 @@ public final class AreaShop extends JavaPlugin implements AreaShopInterface {
|
|||
String name = Bukkit.getOfflinePlayer(uuid).getName();
|
||||
if(name != null) {
|
||||
return name;
|
||||
} else {
|
||||
return uuid.toString();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ public class BuyRegion extends GeneralRegion {
|
|||
* @return The UUID of the owner of this region
|
||||
*/
|
||||
public UUID getBuyer() {
|
||||
String buyer = getStringSetting("buy.buyer");
|
||||
String buyer = config.getString("buy.buyer");
|
||||
if(buyer != null) {
|
||||
try {
|
||||
return UUID.fromString(buyer);
|
||||
|
@ -95,7 +95,7 @@ public class BuyRegion extends GeneralRegion {
|
|||
public String getPlayerName() {
|
||||
String result = plugin.toName(getBuyer());
|
||||
if(result == null || result.isEmpty()) {
|
||||
result = config.getString("buy.buyerName");
|
||||
result = getStringSetting("buy.buyerName");
|
||||
if(result == null || result.isEmpty()) {
|
||||
result = "<UNKNOWN>";
|
||||
}
|
||||
|
@ -306,16 +306,16 @@ public class BuyRegion extends GeneralRegion {
|
|||
plugin.message(player, "buy-payError");
|
||||
return false;
|
||||
}
|
||||
r = null;
|
||||
OfflinePlayer oldOwnerPlayer = Bukkit.getOfflinePlayer(oldOwner);
|
||||
if(oldOwnerPlayer != null) {
|
||||
if(oldOwnerPlayer.getName() == null) {
|
||||
r = plugin.getEconomy().depositPlayer(getPlayerName(), getWorldName(), getResellPrice());
|
||||
} else {
|
||||
r = plugin.getEconomy().depositPlayer(oldOwnerPlayer, getWorldName(), getResellPrice());
|
||||
}
|
||||
if(!r.transactionSuccess()) {
|
||||
plugin.getLogger().warning("Something went wrong with paying '" + oldOwnerPlayer.getName() + "' " + getFormattedPrice() + " for his resell of region " + getName() + " to " + player.getName());
|
||||
}
|
||||
String oldOwnerName = getPlayerName();
|
||||
if(oldOwnerPlayer != null && oldOwnerPlayer.getName() != null) {
|
||||
r = plugin.getEconomy().depositPlayer(oldOwnerPlayer, getWorldName(), getResellPrice());
|
||||
} else if (oldOwnerName != null) {
|
||||
r = plugin.getEconomy().depositPlayer(oldOwnerName, getWorldName(), getResellPrice());
|
||||
}
|
||||
if(r == null || !r.transactionSuccess()) {
|
||||
plugin.getLogger().warning("Something went wrong with paying '" + oldOwnerPlayer.getName() + "' " + getFormattedPrice() + " for his resell of region " + getName() + " to " + player.getName());
|
||||
}
|
||||
// Resell is done, disable that now
|
||||
disableReselling();
|
||||
|
@ -352,7 +352,7 @@ public class BuyRegion extends GeneralRegion {
|
|||
}
|
||||
String landlordName = getLandlordName();
|
||||
r = null;
|
||||
if(landlordPlayer != null) {
|
||||
if(landlordPlayer != null && landlordPlayer.getName() != null) {
|
||||
r = plugin.getEconomy().depositPlayer(landlordPlayer, getWorldName(), getPrice());
|
||||
} else if(landlordName != null) {
|
||||
r = plugin.getEconomy().depositPlayer(landlordName, getWorldName(), getPrice());
|
||||
|
@ -420,10 +420,10 @@ public class BuyRegion extends GeneralRegion {
|
|||
EconomyResponse response = null;
|
||||
boolean error = false;
|
||||
try {
|
||||
if(player.getName() == null) {
|
||||
response = plugin.getEconomy().depositPlayer(getPlayerName(), getWorldName(), moneyBack);
|
||||
} else {
|
||||
if(player != null && player.getName() != null) {
|
||||
response = plugin.getEconomy().depositPlayer(player, getWorldName(), moneyBack);
|
||||
} else if(getPlayerName() != null) {
|
||||
response = plugin.getEconomy().depositPlayer(getPlayerName(), getWorldName(), moneyBack);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
error = true;
|
||||
|
|
|
@ -59,7 +59,7 @@ public class RentRegion extends GeneralRegion {
|
|||
* @return The UUID of the renter
|
||||
*/
|
||||
public UUID getRenter() {
|
||||
String renter = getStringSetting("rent.renter");
|
||||
String renter = config.getString("rent.renter");
|
||||
if(renter != null) {
|
||||
try {
|
||||
return UUID.fromString(renter);
|
||||
|
@ -480,12 +480,12 @@ public class RentRegion extends GeneralRegion {
|
|||
}
|
||||
String landlordName = getLandlordName();
|
||||
r = null;
|
||||
if(landlordPlayer != null) {
|
||||
if(landlordPlayer != null && landlordPlayer.getName() != null) {
|
||||
r = plugin.getEconomy().depositPlayer(landlordPlayer, getWorldName(), getPrice());
|
||||
} else if(landlordName != null) {
|
||||
r = plugin.getEconomy().depositPlayer(landlordName, getWorldName(), getPrice());
|
||||
}
|
||||
if(r != null && !r.transactionSuccess()) {
|
||||
if(r == null || !r.transactionSuccess()) {
|
||||
plugin.getLogger().warning("Something went wrong with paying '" + landlordName + "' " + getFormattedPrice() + " for his rent of region " + getName() + " to " + player.getName());
|
||||
}
|
||||
|
||||
|
@ -570,15 +570,15 @@ public class RentRegion extends GeneralRegion {
|
|||
EconomyResponse r = null;
|
||||
boolean error = false;
|
||||
try {
|
||||
if(player.getName() == null) {
|
||||
r = plugin.getEconomy().depositPlayer(getPlayerName(), getWorldName(), moneyBack);
|
||||
} else {
|
||||
if(player != null && player.getName() != null) {
|
||||
r = plugin.getEconomy().depositPlayer(player, getWorldName(), moneyBack);
|
||||
} else if(getPlayerName() != null) {
|
||||
r = plugin.getEconomy().depositPlayer(getPlayerName(), getWorldName(), moneyBack);
|
||||
}
|
||||
} catch(Exception e) {
|
||||
error = true;
|
||||
}
|
||||
if(error || r == null || !r.transactionSuccess()) {
|
||||
if(error || r == null || !r.transactionSuccess() || error) {
|
||||
plugin.getLogger().warning("Something went wrong with paying back to " + getPlayerName() + " money while unrenting region " + getName());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user