package com.earth2me.essentials; import com.google.common.base.Charsets; import com.google.common.io.Files; import org.bukkit.Bukkit; import java.io.File; import java.io.IOException; import java.util.Locale; import java.util.UUID; import java.util.logging.Level; public class EssentialsUserConf extends EssentialsConf { public final String username; public final UUID uuid; public EssentialsUserConf(final String username, final UUID uuid, final File configFile) { super(configFile); this.username = username; this.uuid = uuid; } @Override public boolean legacyFileExists() { final File file = new File(configFile.getParentFile(), username + ".yml"); return file.exists(); } @Override public void convertLegacyFile() { final File file = new File(configFile.getParentFile(), username + ".yml"); try { Files.move(file, new File(configFile.getParentFile(), uuid + ".yml")); } catch (final IOException ex) { Bukkit.getLogger().log(Level.WARNING, "Failed to migrate user: " + username, ex); } setProperty("lastAccountName", username); } private File getAltFile() { final UUID fn = UUID.nameUUIDFromBytes(("OfflinePlayer:" + username.toLowerCase(Locale.ENGLISH)).getBytes(Charsets.UTF_8)); return new File(configFile.getParentFile(), fn.toString() + ".yml"); } @Override public boolean altFileExists() { if (username.equals(username.toLowerCase())) { return false; } return getAltFile().exists(); } @Override public void convertAltFile() { try { Files.move(getAltFile(), new File(configFile.getParentFile(), uuid + ".yml")); } catch (final IOException ex) { Bukkit.getLogger().log(Level.WARNING, "Failed to migrate user: " + username, ex); } } }