From 0f9405ba509059e100d92b0c034eb523545cc8e5 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Thu, 8 Dec 2022 14:15:40 -0600 Subject: [PATCH] Fixed issue with player data not saved on shutdown --- .../com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java | 6 ++++++ .../hmccosmetics/database/types/MySQLData.java | 9 +++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java index 1fe4c178..012e7aac 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/HMCCosmeticsPlugin.java @@ -29,6 +29,7 @@ import java.nio.file.Path; public final class HMCCosmeticsPlugin extends JavaPlugin { private static HMCCosmeticsPlugin instance; + private static boolean disable = false; @Override public void onEnable() { @@ -67,6 +68,7 @@ public final class HMCCosmeticsPlugin extends JavaPlugin { @Override public void onDisable() { + disable = true; for (Player player : Bukkit.getOnlinePlayers()) { Database.save(player); } @@ -112,4 +114,8 @@ public final class HMCCosmeticsPlugin extends JavaPlugin { Menus.setup(); } + + public static boolean isDisable() { + return disable; + } } diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/database/types/MySQLData.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/database/types/MySQLData.java index cc659af3..d1580181 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/database/types/MySQLData.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/database/types/MySQLData.java @@ -54,7 +54,7 @@ public class MySQLData extends Data { } @Override public void save(CosmeticUser user) { - Bukkit.getScheduler().runTaskAsynchronously(HMCCosmeticsPlugin.getInstance(), () -> { + Runnable run = () -> { try { PreparedStatement preparedSt = preparedStatement("REPLACE INTO COSMETICDATABASE(UUID,COSMETICS) VALUES(?,?);"); preparedSt.setString(1, user.getUniqueId().toString()); @@ -63,7 +63,12 @@ public class MySQLData extends Data { } catch (SQLException e) { throw new RuntimeException(e); } - }); + }; + if (!HMCCosmeticsPlugin.isDisable()) { + Bukkit.getScheduler().runTaskAsynchronously(HMCCosmeticsPlugin.getInstance(), run); + } else { + run.run(); + } } @Override