From 16f5b7f49aa627f1c7bff4d040854412c2ac2c72 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Mon, 18 Nov 2024 21:12:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(currency-plugin):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=95=B0=E6=8D=AE=E4=BC=9A=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E7=8E=A9=E5=AE=B6=E5=90=8D=E7=A7=B0=E4=B8=A2=E5=A4=B1=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- currency-plugin/build.gradle | 2 +- .../java/cn/hamster3/currency/core/SQLDataManager.java | 6 ++++-- .../main/java/cn/hamster3/currency/data/PlayerData.java | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/currency-plugin/build.gradle b/currency-plugin/build.gradle index 53ec12e..2bced22 100644 --- a/currency-plugin/build.gradle +++ b/currency-plugin/build.gradle @@ -5,7 +5,7 @@ plugins { } group 'cn.hamster3' -version '2.2.6' +version '2.2.7' repositories { maven { diff --git a/currency-plugin/src/main/java/cn/hamster3/currency/core/SQLDataManager.java b/currency-plugin/src/main/java/cn/hamster3/currency/core/SQLDataManager.java index 717254d..d419f33 100644 --- a/currency-plugin/src/main/java/cn/hamster3/currency/core/SQLDataManager.java +++ b/currency-plugin/src/main/java/cn/hamster3/currency/core/SQLDataManager.java @@ -158,9 +158,11 @@ public class SQLDataManager implements IDataManager { if (data == null) { data = new PlayerData(uuid, name); playerData.put(data.getUuid(), data); + }else { + data.setPlayerName(name); } data.setPlayerCurrency(currencyType, money); - getLogUtils().info("已从其他插件中加载了玩家 %s 的存档数据.", data.getUuid()); + getLogUtils().info("已从其他插件中加载了玩家 %s(%s) 的存档数据.", uuid, name); } catch (Exception e) { getLogUtils().error(e, "导入某一条数据时发生了一个错误: "); } @@ -311,7 +313,7 @@ public class SQLDataManager implements IDataManager { @Override public PlayerData getPlayerData(UUID uuid) { - return playerData.computeIfAbsent(uuid, PlayerData::new); + return playerData.get(uuid); } @Override diff --git a/currency-plugin/src/main/java/cn/hamster3/currency/data/PlayerData.java b/currency-plugin/src/main/java/cn/hamster3/currency/data/PlayerData.java index c98afa5..186810e 100644 --- a/currency-plugin/src/main/java/cn/hamster3/currency/data/PlayerData.java +++ b/currency-plugin/src/main/java/cn/hamster3/currency/data/PlayerData.java @@ -14,7 +14,7 @@ import java.util.UUID; public class PlayerData { private final UUID uuid; - private final String playerName; + private String playerName; private final HashMap playerCurrencies; public PlayerData(UUID uuid) { @@ -31,7 +31,7 @@ public class PlayerData { public PlayerData(JsonObject object) { uuid = UUID.fromString(object.get("uuid").getAsString()); - if (object.has("playerName")) { + if (object.has("playerName") && !object.get("playerName").isJsonNull()) { playerName = object.get("playerName").getAsString(); } else { playerName = ServiceInfoAPI.getPlayerInfo(uuid).getPlayerName(); @@ -91,6 +91,10 @@ public class PlayerData { return playerName; } + public void setPlayerName(String playerName) { + this.playerName = playerName; + } + public void setPlayerCurrency(String type, double amount) { playerCurrencies.put(type, amount); }