1
0
mirror of https://github.com/Suiranoil/SkinRestorer.git synced 2026-01-16 04:42:12 +00:00

use ConcurrentHashMap

This commit is contained in:
2024-06-26 19:09:39 +03:00
parent e9784e6bd5
commit 80f481ddd2

View File

@@ -2,13 +2,14 @@ package net.lionarius.skinrestorer;
import com.mojang.authlib.properties.Property; import com.mojang.authlib.properties.Property;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Optional;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
public class SkinStorage { public class SkinStorage {
private final Map<UUID, Property> skinMap = new HashMap<>(); private final Map<UUID, Optional<Property>> skinMap = new ConcurrentHashMap<>();
private final SkinIO skinIO; private final SkinIO skinIO;
public SkinStorage(SkinIO skinIO) { public SkinStorage(SkinIO skinIO) {
@@ -25,16 +26,16 @@ public class SkinStorage {
setSkin(uuid, skin); setSkin(uuid, skin);
} }
return skinMap.get(uuid); return skinMap.get(uuid).orElse(null);
} }
public void removeSkin(UUID uuid) { public void removeSkin(UUID uuid) {
if (skinMap.containsKey(uuid)) { if (skinMap.containsKey(uuid)) {
skinIO.saveSkin(uuid, skinMap.get(uuid)); skinIO.saveSkin(uuid, skinMap.get(uuid).orElse(null));
} }
} }
public void setSkin(UUID uuid, Property skin) { public void setSkin(UUID uuid, Property skin) {
skinMap.put(uuid, skin); skinMap.put(uuid, Optional.ofNullable(skin));
} }
} }