/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
package org.royaldev.royalcommands.runners;
import org.royaldev.royalcommands.Config;
import org.royaldev.royalcommands.RoyalCommands;
import org.royaldev.royalcommands.configuration.Configuration;
import org.royaldev.royalcommands.configuration.FilePlayerConfiguration;
import org.royaldev.royalcommands.configuration.PlayerConfiguration;
import org.royaldev.royalcommands.configuration.PlayerConfigurationManager;
public class UserdataRunner implements Runnable {
private final RoyalCommands plugin;
public UserdataRunner(RoyalCommands instance) {
this.plugin = instance;
}
@Override
public void run() {
PlayerConfigurationManager.saveAllConfigurations();
Configuration.saveAllConfigurations();
if (!Config.purgeUnusedUserdata) return;
final Object[] managers = PlayerConfigurationManager.getAllConfigurations().toArray();
for (final Object o : managers) {
if (!(o instanceof FilePlayerConfiguration)) continue;
final PlayerConfiguration pcm = (PlayerConfiguration) o;
if (this.plugin.getServer().getPlayer(pcm.getManagerPlayerUUID()) != null) continue;
pcm.discard(true);
}
}
}