From e3ad4a6d71ebbc2cbba713244245b7527300c473 Mon Sep 17 00:00:00 2001 From: Maxlego08 Date: Thu, 4 Apr 2024 21:21:30 +0200 Subject: [PATCH] :memo: Update money --- .../fr/maxlego08/essentials/economy/EconomyManager.java | 7 ++----- .../maxlego08/essentials/storage/storages/JsonStorage.java | 7 +++++++ .../maxlego08/essentials/storage/storages/SqlStorage.java | 7 +++++++ .../java/fr/maxlego08/essentials/api/storage/IStorage.java | 3 +++ 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Essentials/src/main/java/fr/maxlego08/essentials/economy/EconomyManager.java b/Essentials/src/main/java/fr/maxlego08/essentials/economy/EconomyManager.java index 35a4ecd5..76181964 100644 --- a/Essentials/src/main/java/fr/maxlego08/essentials/economy/EconomyManager.java +++ b/Essentials/src/main/java/fr/maxlego08/essentials/economy/EconomyManager.java @@ -67,12 +67,9 @@ private void perform(UUID uniqueId, Consumer consumer) { if (user == null) { // Need to load the user, use async scheduler - this.plugin.getScheduler().runAsync(wrappedTask -> { - User loadUser = iStorage.createOrLoad(uniqueId, "offline"); - consumer.accept(loadUser); - }); - + this.plugin.getScheduler().runAsync(wrappedTask -> iStorage.updateUserMoney(uniqueId, consumer)); } else { + consumer.accept(user); } } diff --git a/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/JsonStorage.java b/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/JsonStorage.java index 5ee48982..3b1f0800 100644 --- a/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/JsonStorage.java +++ b/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/JsonStorage.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.function.Consumer; public class JsonStorage implements IStorage { @@ -117,4 +118,10 @@ public void updateCooldown(UUID uniqueId, String key, long expiredAt) { public void updateEconomy(UUID uniqueId, Economy economy, BigDecimal bigDecimal) { this.saveFileAsync(uniqueId); } + + @Override + public void updateUserMoney(UUID uniqueId, Consumer consumer) { + User loadUser = createOrLoad(uniqueId, "offline"); + consumer.accept(loadUser); + } } diff --git a/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/SqlStorage.java b/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/SqlStorage.java index 7b28efbc..3b9ce50e 100644 --- a/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/SqlStorage.java +++ b/Essentials/src/main/java/fr/maxlego08/essentials/storage/storages/SqlStorage.java @@ -17,6 +17,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import java.util.function.Consumer; public class SqlStorage implements IStorage { @@ -99,4 +100,10 @@ public void updateCooldown(UUID uniqueId, String key, long expiredAt) { public void updateEconomy(UUID uniqueId, Economy economy, BigDecimal bigDecimal) { // ToDo } + + @Override + public void updateUserMoney(UUID uniqueId, Consumer consumer) { + User fakeUser = new ZUser(this.plugin, uniqueId); + consumer.accept(fakeUser); + } } diff --git a/EssentialsApi/src/main/java/fr/maxlego08/essentials/api/storage/IStorage.java b/EssentialsApi/src/main/java/fr/maxlego08/essentials/api/storage/IStorage.java index f2122763..d4fa517c 100644 --- a/EssentialsApi/src/main/java/fr/maxlego08/essentials/api/storage/IStorage.java +++ b/EssentialsApi/src/main/java/fr/maxlego08/essentials/api/storage/IStorage.java @@ -6,6 +6,7 @@ import java.math.BigDecimal; import java.util.UUID; +import java.util.function.Consumer; public interface IStorage { @@ -24,4 +25,6 @@ public interface IStorage { void updateCooldown(UUID uniqueId, String key, long expiredAt); void updateEconomy(UUID uniqueId, Economy economy, BigDecimal bigDecimal); + + void updateUserMoney(UUID uniqueId, Consumer consumer); }