mirror of
https://github.com/ChestShop-authors/ChestShop-3.git
synced 2024-11-27 04:25:14 +01:00
Fixed some potential bugs.
Removed a hasAccount check from add, subtract and hasEnough. These checks should not exist. The reasons are: hasEnough: The default for an account may not have enough to pay for anything. Changed to check if Server Account instead. add & subtract: Changed the check to only isEmpty. This is because money should not just be created or destroyed.
This commit is contained in:
parent
af692eb4f8
commit
9196504c68
@ -17,42 +17,42 @@ public class Economy {
|
||||
return !p.isEmpty() && economy.hasAccount(uName.getName(p));
|
||||
}
|
||||
|
||||
public static String serverAccount() {
|
||||
return Config.getString(Property.SERVER_ECONOMY_ACCOUNT);
|
||||
}
|
||||
|
||||
public static boolean isServerAccount(String acc) {
|
||||
return serverAccount().equals(acc);
|
||||
}
|
||||
|
||||
public static void add(String name, double amount) {
|
||||
if (!hasAccount(name)) {
|
||||
return;
|
||||
}
|
||||
Property taxAmount = isServerAccount(name) ? Property.SERVER_TAX_AMOUNT : Property.TAX_AMOUNT;
|
||||
|
||||
String serverAccount = Config.getString(Property.SERVER_ECONOMY_ACCOUNT);
|
||||
Property taxAmount = name.equals(serverAccount) ? Property.SERVER_TAX_AMOUNT : Property.TAX_AMOUNT;
|
||||
|
||||
if (Config.getFloat(taxAmount) != 0) {
|
||||
double tax = getTax(taxAmount, amount);
|
||||
if (!serverAccount.isEmpty()) {
|
||||
economy.add(serverAccount, tax);
|
||||
double tax = getTax(taxAmount, amount);
|
||||
if(tax != 0) {
|
||||
if (!serverAccount().isEmpty()) {
|
||||
economy.add(serverAccount(), tax);
|
||||
}
|
||||
amount -= tax;
|
||||
}
|
||||
|
||||
economy.add(uName.getName(name), roundUp(amount));
|
||||
|
||||
if(name.isEmpty()) return;
|
||||
economy.add(uName.getName(name), amount);
|
||||
}
|
||||
|
||||
public static double getTax(Property tax, double price) {
|
||||
return (Config.getFloat(tax) / 100F) * price;
|
||||
return roundDown((Config.getFloat(tax) / 100F) * price);
|
||||
}
|
||||
|
||||
public static void subtract(String name, double amount) {
|
||||
if (!hasAccount(name)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(name.isEmpty()) return;
|
||||
economy.subtract(uName.getName(name), roundUp(amount));
|
||||
}
|
||||
|
||||
public static boolean hasEnough(String name, double amount) {
|
||||
if (!hasAccount(name)) {
|
||||
if(isServerAccount(name)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return economy.hasEnough(uName.getName(name), roundUp(amount));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user