diff --git a/src/main/java/com/drtshock/playervaults/commands/ConvertCommand.java b/src/main/java/com/drtshock/playervaults/commands/ConvertCommand.java index 667a7a0..26bd972 100644 --- a/src/main/java/com/drtshock/playervaults/commands/ConvertCommand.java +++ b/src/main/java/com/drtshock/playervaults/commands/ConvertCommand.java @@ -18,22 +18,10 @@ import java.util.*; public class ConvertCommand implements CommandExecutor { private final List converters = new ArrayList<>(); - private final ServiceProvider uuidProvider; + private ServiceProvider uuidProvider; public ConvertCommand() { converters.add(new BackpackConverter()); - - CachingServiceProvider cachedUuidProvider = new CachingServiceProvider(new ApiV2Service()); - Map seed = new HashMap<>(); - - for (OfflinePlayer player : PlayerVaults.getInstance().getServer().getOfflinePlayers()) { - if (player.hasPlayedBefore()) { - seed.put(player.getUniqueId(), player.getName()); - } - } - - cachedUuidProvider.seedLoad(seed, 6 * 60 * 60); // 6 hour cache time - uuidProvider = cachedUuidProvider; } @Override @@ -64,6 +52,20 @@ public class ConvertCommand implements CommandExecutor { PlayerVaults.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(PlayerVaults.getInstance(), new Runnable() { @Override public void run() { + if (uuidProvider == null) { + CachingServiceProvider cachingUuidProvider = new CachingServiceProvider(new ApiV2Service()); + Map seed = new HashMap<>(); + + for (OfflinePlayer player : PlayerVaults.getInstance().getServer().getOfflinePlayers()) { + if (player.hasPlayedBefore()) { + seed.put(player.getUniqueId(), player.getName()); + } + } + + cachingUuidProvider.seedLoad(seed, 6 * 60 * 60); // 6 hour cache time + uuidProvider = cachingUuidProvider; + } + int converted = 0; VaultOperations.setLocked(true); for (Converter converter : applicableConverters) {