Merge pull request #89 from turt2live/travis/fix-convert-command
Move UUID caching code to convert command execution. Addresses #88
This commit is contained in:
@@ -18,22 +18,10 @@ import java.util.*;
|
|||||||
public class ConvertCommand implements CommandExecutor {
|
public class ConvertCommand implements CommandExecutor {
|
||||||
|
|
||||||
private final List<Converter> converters = new ArrayList<>();
|
private final List<Converter> converters = new ArrayList<>();
|
||||||
private final ServiceProvider uuidProvider;
|
private ServiceProvider uuidProvider;
|
||||||
|
|
||||||
public ConvertCommand() {
|
public ConvertCommand() {
|
||||||
converters.add(new BackpackConverter());
|
converters.add(new BackpackConverter());
|
||||||
|
|
||||||
CachingServiceProvider cachedUuidProvider = new CachingServiceProvider(new ApiV2Service());
|
|
||||||
Map<UUID, String> 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
|
@Override
|
||||||
@@ -64,6 +52,20 @@ public class ConvertCommand implements CommandExecutor {
|
|||||||
PlayerVaults.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(PlayerVaults.getInstance(), new Runnable() {
|
PlayerVaults.getInstance().getServer().getScheduler().runTaskLaterAsynchronously(PlayerVaults.getInstance(), new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
if (uuidProvider == null) {
|
||||||
|
CachingServiceProvider cachingUuidProvider = new CachingServiceProvider(new ApiV2Service());
|
||||||
|
Map<UUID, String> 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;
|
int converted = 0;
|
||||||
VaultOperations.setLocked(true);
|
VaultOperations.setLocked(true);
|
||||||
for (Converter converter : applicableConverters) {
|
for (Converter converter : applicableConverters) {
|
||||||
|
|||||||
Reference in New Issue
Block a user