From 6dc65aafb5c89aa1c19ee3f0f23b7e5784540afc Mon Sep 17 00:00:00 2001 From: Glease <4586901+Glease@users.noreply.github.com> Date: Fri, 12 Apr 2024 04:00:12 +0800 Subject: more robust uuid loading in wireless data (#2564) more robust uuid parsing --- .../common/misc/GlobalEnergyWorldSavedData.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/main/java/gregtech/common/misc') diff --git a/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java b/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java index 417eef30ad..1a03012649 100644 --- a/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java +++ b/src/main/java/gregtech/common/misc/GlobalEnergyWorldSavedData.java @@ -72,11 +72,15 @@ public class GlobalEnergyWorldSavedData extends WorldSavedData { Object data = objectInputStream.readObject(); HashMap hashData = (HashMap) data; for (Map.Entry entry : hashData.entrySet()) { - GlobalEnergy.put( - UUID.fromString( - entry.getKey() - .toString()), - entry.getValue()); + try { + GlobalEnergy.put( + UUID.fromString( + entry.getKey() + .toString()), + entry.getValue()); + } catch (RuntimeException ignored) { + // probably a malformed uuid. in any case, try carry on with the load + } } } catch (IOException | ClassNotFoundException exception) { System.out.println(GlobalEnergyNBTTag + " FAILED"); @@ -91,7 +95,11 @@ public class GlobalEnergyWorldSavedData extends WorldSavedData { HashMap oldTeams = (HashMap) data; for (String member : oldTeams.keySet()) { String leader = oldTeams.get(member); - SpaceProjectManager.putInTeam(UUID.fromString(member), UUID.fromString(leader)); + try { + SpaceProjectManager.putInTeam(UUID.fromString(member), UUID.fromString(leader)); + } catch (RuntimeException ignored) { + // probably a malformed uuid. in any case, try carry on with the load + } } } catch (IOException | ClassNotFoundException exception) { System.out.println(GlobalEnergyTeamNBTTag + " FAILED"); -- cgit