Skip to content

Commit 011db02

Browse files
committed
make starting balance never null
1 parent dad2535 commit 011db02

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

src/main/java/pro/cloudnode/smp/bankaccounts/BankConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,10 +129,10 @@ public boolean integrationsVaultEnabled() {
129129
}
130130

131131
// starting-balance
132-
public @NotNull Optional<@NotNull Double> startingBalance() {
132+
public @NotNull BigDecimal startingBalance() {
133133
if (Objects.requireNonNull(config.getString("starting-balance")).equalsIgnoreCase("null"))
134-
return Optional.empty();
135-
else return Optional.of(config.getDouble("starting-balance"));
134+
return BigDecimal.ZERO;
135+
else return new BigDecimal(Objects.requireNonNull(config.getString("starting-balance")));
136136
}
137137

138138
// server-account.name

src/main/java/pro/cloudnode/smp/bankaccounts/events/Join.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,19 @@
1010
import pro.cloudnode.smp.bankaccounts.Permissions;
1111

1212
import java.math.BigDecimal;
13-
import java.util.Optional;
1413

1514
public final class Join implements Listener {
1615
@EventHandler
1716
public void onPlayerJoin(final @NotNull PlayerJoinEvent event) {
18-
final Player player = event.getPlayer();
19-
final @NotNull Optional<@NotNull Double> startingBalance = BankAccounts.getInstance().config()
20-
.startingBalance();
21-
startingBalance.ifPresent(aDouble -> BankAccounts.getInstance().getServer().getScheduler()
22-
.runTaskAsynchronously(BankAccounts.getInstance(), () -> {
23-
if (Account.getVaultAccount(player).isEmpty()) {
24-
// if the player already has a personal account, they will not be given starting balance
25-
final @NotNull BigDecimal balance = Account.get(player, Account.Type.PERSONAL).length > 0 ? BigDecimal.ZERO : BigDecimal.valueOf(aDouble);
26-
new Account(player, Account.Type.VAULT, null, balance, false).insert();
27-
}
28-
}));
17+
final @NotNull Player player = event.getPlayer();
18+
final @NotNull BigDecimal startingBalance = BankAccounts.getInstance().config().startingBalance();
19+
BankAccounts.getInstance().getServer().getScheduler().runTaskAsynchronously(BankAccounts.getInstance(), () -> {
20+
if (Account.getVaultAccount(player).isEmpty()) {
21+
// if the player already has a personal account, they will not be given starting balance
22+
final @NotNull BigDecimal balance = startingBalance.compareTo(BigDecimal.ZERO) <= 0 || Account.get(player, Account.Type.PERSONAL).length > 0 ? BigDecimal.ZERO : startingBalance;
23+
new Account(player, Account.Type.VAULT, null, balance, false).insert();
24+
}
25+
});
2926
if (player.hasPermission(Permissions.NOTIFY_UPDATE)) {
3027
BankAccounts.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(BankAccounts.getInstance(), () -> BankAccounts.checkForUpdates().ifPresent(latestVersion -> {
3128
player.sendMessage(BankAccounts.getInstance().config().messagesUpdateAvailable(latestVersion));

0 commit comments

Comments
 (0)