Skip to content

Commit 0c6400a

Browse files
committed
fix: new players have their balance fixed to 0 until they rejoin
1 parent c192fd6 commit 0c6400a

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

api/src/main/java/ovh/mythmc/banco/api/accounts/AccountManager.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import lombok.Getter;
55
import lombok.RequiredArgsConstructor;
66

7-
import org.bukkit.Bukkit;
87
import org.jetbrains.annotations.ApiStatus;
98
import org.jetbrains.annotations.NotNull;
109
import org.jetbrains.annotations.ApiStatus.Internal;
@@ -40,6 +39,8 @@ public final class AccountManager {
4039
public synchronized void create(final @NotNull UUID uuid) {
4140
Account account = new Account();
4241
account.setUuid(uuid);
42+
account.setAmount(BigDecimal.ZERO);
43+
account.setTransactions(BigDecimal.ZERO);
4344

4445
create(account);
4546
}
@@ -53,6 +54,8 @@ public synchronized void create(final @NotNull UUID uuid, final @NotNull String
5354
Account account = new Account();
5455
account.setUuid(uuid);
5556
account.setName(name);
57+
account.setAmount(BigDecimal.ZERO);
58+
account.setTransactions(BigDecimal.ZERO);
5659

5760
create(account);
5861
}
@@ -215,8 +218,8 @@ public boolean has(final @NotNull Account account, final @NotNull BigDecimal amo
215218
*/
216219
public @NotNull BigDecimal amount(final @NotNull Account account) {
217220
// Fake players / accounts
218-
if (!Bukkit.getOfflinePlayer(account.getUuid()).hasPlayedBefore())
219-
return account.getTransactions().add(getValueOfPlayer(account.getUuid(), false));
221+
//if (!Bukkit.getOfflinePlayer(account.getUuid()).hasPlayedBefore())
222+
// return account.getTransactions().add(getValueOfPlayer(account.getUuid(), false));
220223

221224
final Optional<OfflinePlayerReference> optionalOfflinePlayerReference = uuidResolver.resolveOfflinePlayer(account.getUuid());
222225

@@ -229,7 +232,8 @@ public boolean has(final @NotNull Account account, final @NotNull BigDecimal amo
229232
}
230233

231234
// Offline players
232-
return account.getAmount().add(account.getTransactions());
235+
//return account.getAmount().add(account.getTransactions());
236+
return account.getTransactions().add(getValueOfPlayer(account.getUuid(), false)).add(account.getAmount());
233237
}
234238

235239
@Internal

platform-common/src/main/java/ovh/mythmc/banco/common/listeners/PlayerListener.java

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,25 @@
88
import lombok.RequiredArgsConstructor;
99
import ovh.mythmc.banco.api.Banco;
1010
import ovh.mythmc.banco.api.accounts.Account;
11-
import ovh.mythmc.banco.api.scheduler.BancoScheduler;
1211

13-
import java.math.BigDecimal;
1412
import java.util.UUID;
1513

1614
@RequiredArgsConstructor
1715
public class PlayerListener implements Listener {
1816

1917
@EventHandler
2018
public void onPlayerJoin(PlayerJoinEvent event) {
21-
BancoScheduler.get().run(() ->{
22-
UUID uuid = event.getPlayer().getUniqueId();
23-
Account account = Banco.get().getAccountManager().getByUuid(uuid);
24-
25-
if (account == null) {
26-
account = new Account(uuid, event.getPlayer().getName(), BigDecimal.valueOf(0), BigDecimal.valueOf(0));
27-
Banco.get().getAccountManager().create(account);
28-
} else {
29-
Banco.get().getAccountManager().updateName(account, event.getPlayer().getName());
30-
}
31-
32-
Banco.get().getAccountManager().updateTransactions(account);
33-
});
19+
UUID uuid = event.getPlayer().getUniqueId();
20+
Account account = Banco.get().getAccountManager().getByUuid(uuid);
21+
22+
if (account == null) {
23+
Banco.get().getAccountManager().create(uuid, event.getPlayer().getName());
24+
account = Banco.get().getAccountManager().getByUuid(uuid);
25+
} else {
26+
Banco.get().getAccountManager().updateName(account, event.getPlayer().getName());
27+
}
28+
29+
Banco.get().getAccountManager().updateTransactions(account);
3430
}
3531

3632
@EventHandler

0 commit comments

Comments
 (0)