mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-29 16:46:46 +01:00
Also update flatfile with uuids
This commit is contained in:
parent
384bb6306a
commit
7118f8850d
@ -27,6 +27,7 @@ import com.gmail.nossr50.datatypes.database.UpgradeType;
|
||||
import com.gmail.nossr50.datatypes.player.PlayerProfile;
|
||||
import com.gmail.nossr50.datatypes.skills.AbilityType;
|
||||
import com.gmail.nossr50.datatypes.skills.SkillType;
|
||||
import com.gmail.nossr50.runnables.database.UUIDUpdateAsyncTask;
|
||||
import com.gmail.nossr50.util.Misc;
|
||||
import com.gmail.nossr50.util.StringUtils;
|
||||
|
||||
@ -45,6 +46,10 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
|
||||
usersFile = new File(mcMMO.getUsersFilePath());
|
||||
checkStructure();
|
||||
updateLeaderboards();
|
||||
|
||||
if (mcMMO.getUpgradeManager().shouldUpgrade(UpgradeType.ADD_UUIDS)) {
|
||||
new UUIDUpdateAsyncTask(mcMMO.p, getStoredUsers()).runTaskAsynchronously(mcMMO.p);
|
||||
}
|
||||
}
|
||||
|
||||
public void purgePowerlessUsers() {
|
||||
|
@ -16,7 +16,7 @@ import com.gmail.nossr50.util.uuid.UUIDFetcher;
|
||||
|
||||
public class UUIDUpdateAsyncTask extends BukkitRunnable {
|
||||
private mcMMO plugin;
|
||||
private static final int MAX_LOOKUP = HiddenConfig.getInstance().getUUIDConvertAmount();
|
||||
private static final int MAX_LOOKUP = Math.max(HiddenConfig.getInstance().getUUIDConvertAmount(), 100);
|
||||
|
||||
private List<String> userNames;
|
||||
private int size;
|
||||
@ -28,13 +28,11 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
|
||||
this.userNames = userNames;
|
||||
|
||||
this.checkedUsers = 0;
|
||||
this.startMillis = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
startMillis = System.currentTimeMillis();
|
||||
|
||||
size = userNames.size();
|
||||
|
||||
plugin.getLogger().info("Starting to check and update UUIDs, total amount of users: " + size);
|
||||
@ -42,19 +40,21 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
|
||||
List<String> userNamesSection;
|
||||
Map<String,UUID> fetchedUUIDs = new HashMap<String,UUID>();
|
||||
|
||||
while (!userNames.isEmpty()) {
|
||||
|
||||
while (size != 0) {
|
||||
if (size > MAX_LOOKUP) {
|
||||
userNamesSection = userNames.subList(size - MAX_LOOKUP, size);
|
||||
size -= MAX_LOOKUP;
|
||||
}
|
||||
else {
|
||||
userNamesSection = userNames.subList(0, size);
|
||||
size = 0;
|
||||
}
|
||||
|
||||
try {
|
||||
fetchedUUIDs.putAll(new UUIDFetcher(userNamesSection).call());
|
||||
}
|
||||
catch (Exception ex) {
|
||||
catch (Exception e) {
|
||||
plugin.getLogger().severe("Unable to fetch UUIDs!");
|
||||
return;
|
||||
}
|
||||
|
||||
@ -69,6 +69,7 @@ public class UUIDUpdateAsyncTask extends BukkitRunnable {
|
||||
|
||||
if (mcMMO.getDatabaseManager().saveUserUUIDs(fetchedUUIDs)) {
|
||||
mcMMO.getUpgradeManager().setUpgradeCompleted(UpgradeType.ADD_UUIDS);
|
||||
plugin.getLogger().info("UUID upgrade completed!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,4 +15,4 @@ Options:
|
||||
# The interval at which the server updates a couple of users to get their UUID, in seconds
|
||||
UUIDConvertInterval: 30
|
||||
# Amount of users to convert every interval
|
||||
UUIDConvertAmount: 5
|
||||
UUIDConvertAmount: 100
|
||||
|
Loading…
Reference in New Issue
Block a user