Skip to content

Commit 8c58cbb

Browse files
authored
Parse strings directly as BigDecimal (#114)
2 parents 252268a + 8e09cea commit 8c58cbb

File tree

5 files changed

+11
-11
lines changed

5 files changed

+11
-11
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ private static void createServerAccount() {
328328
if (accounts.length > 0) return;
329329
final @Nullable String name = getInstance().config().serverAccountName();
330330
final @NotNull Account.Type type = getInstance().config().serverAccountType();
331-
final @Nullable BigDecimal balance = getInstance().config().serverAccountStartingBalance().map(BigDecimal::valueOf).orElse(null);
331+
final @Nullable BigDecimal balance = getInstance().config().serverAccountStartingBalance();
332332
new Account(getConsoleOfflinePlayer(), type, name, balance, false).insert();
333333
}
334334
}

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,10 @@ public boolean serverAccountEnabled() {
146146
}
147147

148148
// server-account.starting-balance
149-
public @NotNull Optional<@NotNull Double> serverAccountStartingBalance() {
149+
public @Nullable BigDecimal serverAccountStartingBalance() {
150150
if (Objects.requireNonNull(config.getString("server-account.starting-balance")).equalsIgnoreCase("infinity"))
151-
return Optional.empty();
152-
else return Optional.of(config.getDouble("server-account.starting-balance"));
151+
return null;
152+
else return new BigDecimal(Objects.requireNonNull(config.getString("server-account.starting-balance")));
153153
}
154154

155155
// account-limits.
@@ -168,8 +168,8 @@ public boolean transferConfirmationEnabled() {
168168
}
169169

170170
// transfer-confirmation.min-amount
171-
public double transferConfirmationMinAmount() {
172-
return config.getDouble("transfer-confirmation.min-amount");
171+
public @NotNull BigDecimal transferConfirmationMinAmount() {
172+
return new BigDecimal(Objects.requireNonNull(config.getString("transfer-confirmation.min-amount")));
173173
}
174174

175175
// transfer-confirmation.bypass-own-accounts

src/main/java/pro/cloudnode/smp/bankaccounts/commands/BankCommand.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@ public static boolean setBalance(final @NotNull CommandSender sender, final @Not
352352
else {
353353
final @Nullable BigDecimal balance;
354354
try {
355-
balance = args[1].equalsIgnoreCase("Infinity") ? null : BigDecimal.valueOf(Double.parseDouble(args[1]));
355+
balance = args[1].equalsIgnoreCase("Infinity") ? null : new BigDecimal(args[1]);
356356
}
357357
catch (NumberFormatException e) {
358358
return sendMessage(sender, BankAccounts.getInstance().config().messagesErrorsInvalidNumber(args[1]));
@@ -487,7 +487,7 @@ public static boolean transfer(final @NotNull CommandSender sender, final @NotNu
487487

488488
final @NotNull BigDecimal amount;
489489
try {
490-
amount = BigDecimal.valueOf(Double.parseDouble(argsCopy[2])).setScale(2, RoundingMode.HALF_UP);
490+
amount = new BigDecimal(argsCopy[2]).setScale(2, RoundingMode.HALF_UP);
491491
}
492492
catch (NumberFormatException e) {
493493
return sendMessage(sender, BankAccounts.getInstance().config().messagesErrorsInvalidNumber(argsCopy[2]));
@@ -507,7 +507,7 @@ public static boolean transfer(final @NotNull CommandSender sender, final @NotNu
507507
return sendMessage(sender, BankAccounts.getInstance().config().messagesErrorsDisallowedCharacters("<>"));
508508

509509
if (!confirm && BankAccounts.getInstance().config().transferConfirmationEnabled()) {
510-
final @NotNull BigDecimal minAmount = BigDecimal.valueOf(BankAccounts.getInstance().config().transferConfirmationMinAmount());
510+
final @NotNull BigDecimal minAmount = BankAccounts.getInstance().config().transferConfirmationMinAmount();
511511
boolean bypassOwnAccounts = BankAccounts.getInstance().config().transferConfirmationBypassOwnAccounts();
512512
if (amount.compareTo(minAmount) >= 0 && (!bypassOwnAccounts || !from.get().owner.getUniqueId()
513513
.equals(to.get().owner.getUniqueId()))) {

src/main/java/pro/cloudnode/smp/bankaccounts/commands/InvoiceCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public static boolean create(final @NotNull CommandSender sender, @NotNull Strin
153153

154154
final @NotNull BigDecimal amount;
155155
try {
156-
amount = BigDecimal.valueOf(Double.parseDouble(argsCopy[1])).setScale(2, RoundingMode.HALF_UP);
156+
amount = new BigDecimal(argsCopy[1]).setScale(2, RoundingMode.HALF_UP);
157157
}
158158
catch (final @NotNull NumberFormatException e) {
159159
return sendMessage(sender, BankAccounts.getInstance().config().messagesErrorsInvalidNumber(argsCopy[1]));

src/main/java/pro/cloudnode/smp/bankaccounts/commands/POSCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public boolean execute(final @NotNull CommandSender sender, final @NotNull Strin
5353

5454
final @NotNull BigDecimal price;
5555
try {
56-
price = BigDecimal.valueOf(Double.parseDouble(args[1])).setScale(2, RoundingMode.HALF_UP);
56+
price = new BigDecimal(args[1]).setScale(2, RoundingMode.HALF_UP);
5757
}
5858
catch (final @NotNull NumberFormatException e) {
5959
return sendMessage(sender, BankAccounts.getInstance().config().messagesErrorsInvalidNumber(args[1]));

0 commit comments

Comments
 (0)