From 304dec6a1ca73d3564c4f3cbae08a36ca946681c Mon Sep 17 00:00:00 2001 From: Vlammar Date: Sun, 7 Mar 2021 00:26:01 +0100 Subject: [PATCH] Added getMapIdSet that return a map of all map id used by each player --- .../fr/moribus/imageonmap/map/MapManager.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/main/java/fr/moribus/imageonmap/map/MapManager.java b/src/main/java/fr/moribus/imageonmap/map/MapManager.java index 66a16dc..e0fb622 100644 --- a/src/main/java/fr/moribus/imageonmap/map/MapManager.java +++ b/src/main/java/fr/moribus/imageonmap/map/MapManager.java @@ -44,7 +44,9 @@ import fr.moribus.imageonmap.map.MapManagerException.Reason; import fr.zcraft.quartzlib.tools.PluginLogger; import java.io.File; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.Material; @@ -362,6 +364,29 @@ public abstract class MapManager { return store; } + /** + * Returns a map of all minecraft maps id used by ImageOnMap images with the player uuid as key. + * + * @return The set of all map id used by each player. + */ + public static Map> getMapIdSet() { + HashMap> hashMap = new HashMap<>(); + synchronized (playerMaps) { + for (PlayerMapStore tmpStore : playerMaps) { + ArrayList ids = new ArrayList<>(); + UUID uuid = tmpStore.getUUID(); + List mapList = tmpStore.getMapList(); + for (ImageMap map : mapList) { + for (int id : map.getMapsIDs()) { + ids.add(id); + } + } + hashMap.put(uuid, ids); + } + } + return hashMap; + } + private static PlayerMapStore getExistingPlayerMapStore(UUID playerUUID) { synchronized (playerMaps) { for (PlayerMapStore mapStore : playerMaps) {