diff --git a/common/src/main/java/net/william278/huskclaims/user/Preferences.java b/common/src/main/java/net/william278/huskclaims/user/Preferences.java index 8fafbffb..20cfc23d 100644 --- a/common/src/main/java/net/william278/huskclaims/user/Preferences.java +++ b/common/src/main/java/net/william278/huskclaims/user/Preferences.java @@ -57,7 +57,7 @@ public class Preferences implements AuditLogger { @Expose @SerializedName("audit_log") - private Map logEntries = Maps.newHashMap(); + private Map logEntries = Maps.newConcurrentMap(); @Expose @SerializedName("claiming_mode") diff --git a/common/src/main/java/net/william278/huskclaims/user/PreferencesSerializer.java b/common/src/main/java/net/william278/huskclaims/user/PreferencesSerializer.java index a6db6281..e2f19043 100644 --- a/common/src/main/java/net/william278/huskclaims/user/PreferencesSerializer.java +++ b/common/src/main/java/net/william278/huskclaims/user/PreferencesSerializer.java @@ -51,7 +51,7 @@ public void write(@NotNull JsonWriter out, @NotNull Preferences prefs) throws IO private void writeAuditLog(@NotNull JsonWriter out, @NotNull Map auditLog) throws IOException { out.beginObject(); int i = 0; - for (Map.Entry entry : auditLog.entrySet()) { + for (Map.Entry entry : Map.copyOf(auditLog).entrySet()) { if (i >= maxPersistedLogEntries) { break; } @@ -102,7 +102,7 @@ public Preferences read(@NotNull JsonReader in) throws IOException { @NotNull private Map readAuditLog(@NotNull JsonReader in) throws IOException { - final Map auditLog = Maps.newHashMap(); + final Map auditLog = Maps.newConcurrentMap(); in.beginObject(); while (in.hasNext()) { auditLog.put(in.nextName(), readAuditLogEntry(in));