Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pw.navigations.qChronium.commands;
- import com.hcrival.chronium.Chronium;
- import com.hcrival.chronium.profile.Profile;
- import com.hcrival.chronium.rank.Rank;
- import com.mongodb.client.MongoCollection;
- import org.bson.Document;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import pw.navigations.qChronium.qChronium;
- import java.util.ArrayList;
- import java.util.Comparator;
- import java.util.List;
- import java.util.UUID;
- public class DumpCommand implements CommandExecutor {
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- Bukkit.getScheduler().runTaskAsynchronously(qChronium.instance, () -> {
- List<Rank> ranks = new ArrayList<>(Rank.getRanks().values());
- ranks.sort(new Comparator<Rank>() {
- @Override
- public int compare(Rank o1, Rank o2) {
- return o2.getWeight() - o1.getWeight();
- }
- });
- long ms = System.currentTimeMillis();
- MongoCollection<Document> collection = Chronium.get().getMongoDatabase().getCollection("profiles");
- for (Document document : collection.find()) {
- Profile profile = Profile.getByUuid(UUID.fromString((String) document.get("uuid")));
- qChronium.instance.getConfig().set("DATA.PROFILES." + profile.getUuid() + ".RANK", ChatColor.stripColor(profile.getActiveGrant().getRank().getDisplayName()));
- qChronium.instance.getConfig().set("DATA.PROFILES." + profile.getUuid() + ".PERMISSIONS", profile.getPermissions());
- qChronium.instance.getConfig().set("DATA.PROFILES." + profile.getUuid() + ".ADDRESSES", profile.getIpAddresses());
- Bukkit.broadcastMessage(profile.getUuid().toString());
- }
- for (Rank rank : ranks) {
- ArrayList<String> inheritedNames = new ArrayList<>();
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".PREFIX", rank.getPrefix());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".COLOR", rank.getColor());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".DISPLAY_NAME", rank.getDisplayName());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".WEIGHT", rank.getWeight());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".UUID", rank.getUuid().toString());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".PERMISSIONS", rank.getPermissions());
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".ALL_PERMISSIONS", rank.getAllPermissions());
- for (Rank r : rank.getInherited()) {
- inheritedNames.add(ChatColor.stripColor(r.getDisplayName()));
- }
- qChronium.instance.getConfig().set("DATA.RANKS." + ChatColor.stripColor(rank.getDisplayName()) + ".INHERITED", inheritedNames);
- }
- qChronium.instance.saveConfig();
- Bukkit.broadcastMessage("§aComplete. That took " + (System.currentTimeMillis() - ms) + "ms.");
- });
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement