From e186e5ea0a451e02924ae5ff18a80da5219386d8 Mon Sep 17 00:00:00 2001 From: CarmJos Date: Fri, 25 Feb 2022 05:37:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8A=A5=E9=94=99=E7=A9=BAla?= =?UTF-8?q?stLocation=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../moeteleport/storage/file/JSONStorage.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/cc/carm/plugin/moeteleport/storage/file/JSONStorage.java b/src/main/java/cc/carm/plugin/moeteleport/storage/file/JSONStorage.java index fd8988d..2b0873e 100644 --- a/src/main/java/cc/carm/plugin/moeteleport/storage/file/JSONStorage.java +++ b/src/main/java/cc/carm/plugin/moeteleport/storage/file/JSONStorage.java @@ -16,7 +16,6 @@ import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.util.LinkedHashMap; -import java.util.Optional; import java.util.UUID; public class JSONStorage extends FileBasedStorage { @@ -36,19 +35,20 @@ public class JSONStorage extends FileBasedStorage { if (!dataElement.isJsonObject()) throw new NullPointerException(userDataFile.getName()); JsonObject dataObject = dataElement.getAsJsonObject(); - - DataLocation lastLocation = Optional - .ofNullable(dataObject.get("lastLocation").getAsString()) - .map(DataLocation::deserializeText) - .orElse(null); + DataLocation lastLocation = null; + if (dataObject.has("lastLocation")) { + lastLocation = DataLocation.deserializeText(dataObject.get("lastLocation").getAsString()); + } LinkedHashMap homeData = new LinkedHashMap<>(); - JsonObject homesObject = dataObject.getAsJsonObject("homes"); - if (homesObject != null) { - homesObject.entrySet().forEach(entry -> { - DataLocation location = DataLocation.deserializeText(entry.getValue().getAsString()); - if (location != null) homeData.put(entry.getKey(), location); - }); + if (dataObject.has("homes")) { + JsonObject homesObject = dataObject.getAsJsonObject("homes"); + if (homesObject != null) { + homesObject.entrySet().forEach(entry -> { + DataLocation location = DataLocation.deserializeText(entry.getValue().getAsString()); + if (location != null) homeData.put(entry.getKey(), location); + }); + } } return new UserData(uuid, lastLocation, homeData);