Skip to content

Commit f4c6c5d

Browse files
committed
try to enforce frozen Vault accounts
1 parent 4a80fe4 commit f4c6c5d

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/main/java/pro/cloudnode/smp/bankaccounts/integrations/VaultIntegration.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ public int fractionalDigits() {
100100
*/
101101
@Override
102102
public boolean hasAccount(final @NotNull OfflinePlayer player) {
103-
return Account.getVaultAccount(player).isPresent();
103+
final @NotNull Optional<@NotNull Account> account = Account.getVaultAccount(player);
104+
return account.isPresent() && !account.get().frozen;
104105
}
105106

106107
/**
@@ -143,7 +144,7 @@ public boolean hasAccount(final @NotNull String player, final @NotNull String wo
143144
@Override
144145
public double getBalance(final @NotNull OfflinePlayer player) {
145146
final @NotNull Optional<@NotNull Account> account = Account.getVaultAccount(player);
146-
return account.map(value -> Optional.ofNullable(value.balance).map(BigDecimal::doubleValue)
147+
return account.map(a -> a.frozen ? 0 : Optional.ofNullable(a.balance).map(BigDecimal::doubleValue)
147148
.orElse(Double.MAX_VALUE)).orElse(0d);
148149
}
149150

@@ -187,7 +188,7 @@ public double getBalance(final @NotNull String player, final @NotNull String wor
187188
@Override
188189
public boolean has(final @NotNull OfflinePlayer player, final double amount) {
189190
final @NotNull Optional<@NotNull Account> account = Account.getVaultAccount(player);
190-
return account.map(value -> value.hasFunds(BigDecimal.valueOf(amount))).orElse(false);
191+
return account.map(a -> !a.frozen && a.hasFunds(BigDecimal.valueOf(amount))).orElse(false);
191192
}
192193

193194
/**

0 commit comments

Comments
 (0)