Allow disabling userfile cache on uuid convert.

Add "ignore-userfiles-cache: true" to "upgrades-done.yml" to disable cache, forcing uuid lookup requests.
This commit is contained in:
KHobbits 2014-05-04 13:22:33 +01:00
parent 86b57804c6
commit 0364d4e0de
2 changed files with 34 additions and 26 deletions

View file

@ -501,6 +501,8 @@ public class EssentialsUpgrade
return; return;
} }
Boolean ignoreUFCache = doneFile.getBoolean("ignore-userfiles-cache", false);
final File userdir = new File(ess.getDataFolder(), "userdata"); final File userdir = new File(ess.getDataFolder(), "userdata");
if (!userdir.exists()) if (!userdir.exists())
{ {
@ -553,13 +555,13 @@ public class EssentialsUpgrade
// NOOP // NOOP
} }
uuidFileConvert(ess); uuidFileConvert(ess, ignoreUFCache);
doneFile.setProperty("uuidFileChange", true); doneFile.setProperty("uuidFileChange", true);
doneFile.save(); doneFile.save();
} }
public static void uuidFileConvert(IEssentials ess) public static void uuidFileConvert(IEssentials ess, Boolean ignoreUFCache)
{ {
ess.getLogger().info("Starting Essentials UUID userdata conversion"); ess.getLogger().info("Starting Essentials UUID userdata conversion");
@ -608,7 +610,9 @@ public class EssentialsUpgrade
conf.setProperty("lastAccountName", name); conf.setProperty("lastAccountName", name);
conf.save(); conf.save();
String uuidString = conf.getString("uuid", null); String uuidConf = ignoreUFCache ? "force-uuid" : "uuid";
String uuidString = conf.getString(uuidConf, null);
for (int i = 0; i < 4; i++) for (int i = 0; i < 4; i++)
{ {

View file

@ -11,6 +11,7 @@ import com.earth2me.essentials.utils.NumberUtil;
import com.google.common.base.Charsets; import com.google.common.base.Charsets;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.bukkit.Material; import org.bukkit.Material;
@ -332,7 +333,10 @@ public class Commandessentials extends EssentialsCommand
private void run_uuidconvert(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception private void run_uuidconvert(final Server server, final CommandSource sender, final String commandLabel, final String[] args) throws Exception
{ {
sender.sendMessage("Starting Essentials UUID userdata conversion, this may lag the server."); sender.sendMessage("Starting Essentials UUID userdata conversion, this may lag the server.");
EssentialsUpgrade.uuidFileConvert(ess);
Boolean ignoreUFCache = (args.length > 2 && args[1].toLowerCase(Locale.ENGLISH).contains("ignore"));
EssentialsUpgrade.uuidFileConvert(ess, ignoreUFCache);
sender.sendMessage("UUID conversion complete, check your server log for more information."); sender.sendMessage("UUID conversion complete, check your server log for more information.");
} }