mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-04 03:03:43 +01:00 
			
		
		
		
	Restructure UUID handler
This commit is contained in:
		@@ -16,6 +16,7 @@ import com.intellectualcrafters.plot.util.EconHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.InventoryUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.PlayerManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandlerImplementation;
 | 
			
		||||
import com.plotsquared.bukkit.util.SetupUtils;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
			
		||||
@@ -63,7 +64,7 @@ public interface IPlotMain {
 | 
			
		||||
 | 
			
		||||
    public HybridUtils initHybridUtils();
 | 
			
		||||
 | 
			
		||||
    public UUIDWrapper initUUIDHandler();
 | 
			
		||||
    public UUIDHandlerImplementation initUUIDHandler();
 | 
			
		||||
    
 | 
			
		||||
    public InventoryUtil initInventoryUtil();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -72,8 +72,8 @@ import com.intellectualcrafters.plot.util.MathMan;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringMan;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.PlayerManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.SetupUtils;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.FileUUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
@@ -171,7 +171,7 @@ public class PS {
 | 
			
		||||
            IMP.registerChunkProcessor();
 | 
			
		||||
        }
 | 
			
		||||
        // create UUIDWrapper
 | 
			
		||||
        UUIDHandler.setUUIDWrapper(IMP.initUUIDHandler());
 | 
			
		||||
        UUIDHandler.implementation = IMP.initUUIDHandler();
 | 
			
		||||
        // create event util class
 | 
			
		||||
        EventUtil.manager = IMP.initEventUtil();
 | 
			
		||||
        // create Hybrid utility class
 | 
			
		||||
@@ -598,7 +598,7 @@ public class PS {
 | 
			
		||||
     * @return Set of Plot
 | 
			
		||||
     */
 | 
			
		||||
    public Set<Plot> getPlots(final String world, final String player) {
 | 
			
		||||
        final UUID uuid = UUIDHandler.getUUID(player);
 | 
			
		||||
        final UUID uuid = UUIDHandler.getUUID(player, null);
 | 
			
		||||
        return getPlots(world, uuid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -1515,8 +1515,6 @@ public class PS {
 | 
			
		||||
            Settings.FANCY_CHAT = false;
 | 
			
		||||
        }
 | 
			
		||||
        Settings.METRICS = config.getBoolean("metrics");
 | 
			
		||||
 | 
			
		||||
        UUIDHandler.implementation = Settings.USE_SQLUUIDHANDLER ? new SQLUUIDHandler() : new FileUUIDHandler();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -48,7 +48,7 @@ import com.intellectualcrafters.plot.util.ClusterManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.SchematicHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitSetBlockManager;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
			
		||||
 
 | 
			
		||||
@@ -31,11 +31,10 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -34,9 +34,9 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotWorld;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EconHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "buy",
 | 
			
		||||
 
 | 
			
		||||
@@ -34,9 +34,9 @@ import com.intellectualcrafters.plot.util.CmdConfirm;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "clear",
 | 
			
		||||
 
 | 
			
		||||
@@ -47,8 +47,8 @@ import com.intellectualcrafters.plot.util.ClusterManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringMan;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.SetupUtils;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "cluser",
 | 
			
		||||
 
 | 
			
		||||
@@ -14,9 +14,9 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringComparison;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "database",
 | 
			
		||||
 
 | 
			
		||||
@@ -39,9 +39,9 @@ import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.ChunkManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "debugclaimtest",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,9 +31,9 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.ChunkManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "debugclear",
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,7 @@ import java.util.UUID;
 | 
			
		||||
import com.intellectualcrafters.plot.commands.callers.PlotPlayerCaller;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
@@ -52,6 +52,7 @@ import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.ChunkManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.ExpireManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "debugexec",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@ import java.util.UUID;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
@@ -46,7 +46,7 @@ import com.intellectualcrafters.plot.object.StringWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.PlayerManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.LowerOfflineUUIDWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
 | 
			
		||||
 
 | 
			
		||||
@@ -32,9 +32,9 @@ import com.intellectualcrafters.plot.util.EconHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "delete",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,11 +31,10 @@ import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ import com.intellectualcrafters.plot.commands.callers.PlotPlayerCaller;
 | 
			
		||||
import com.intellectualcrafters.plot.flag.Flag;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.config.C;
 | 
			
		||||
@@ -45,6 +45,7 @@ import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringMan;
 | 
			
		||||
import com.intellectualcrafters.plot.util.TaskManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "info",
 | 
			
		||||
 
 | 
			
		||||
@@ -27,9 +27,9 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "kick",
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ import java.util.UUID;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
@@ -42,6 +42,7 @@ import com.intellectualcrafters.plot.util.EconHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "merge",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,9 +31,9 @@ import com.intellectualcrafters.plot.database.DBFunc;
 | 
			
		||||
import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotId;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -30,11 +30,10 @@ import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -26,7 +26,7 @@ import java.util.List;
 | 
			
		||||
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
@@ -50,6 +50,7 @@ import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.SetBlockQueue;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringComparison;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringMan;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// TODO Make sub-subcommands
 | 
			
		||||
 
 | 
			
		||||
@@ -33,10 +33,10 @@ import com.intellectualcrafters.plot.object.PlotId;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "setowner",
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,7 @@ package com.intellectualcrafters.plot.commands;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
@@ -34,6 +34,7 @@ import com.intellectualcrafters.plot.object.PlotId;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.BlockManager;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "tp",
 | 
			
		||||
 
 | 
			
		||||
@@ -31,10 +31,10 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.EventUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -29,11 +29,10 @@ import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.uuid.SQLUUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -29,10 +29,10 @@ import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
//     UNTRUST("untrust", "ut"),
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -30,10 +30,10 @@ import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.intellectualsites.commands.Argument;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
        command = "visit",
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ import java.util.UUID;
 | 
			
		||||
import com.intellectualcrafters.plot.commands.callers.PlotPlayerCaller;
 | 
			
		||||
import com.intellectualsites.commands.CommandDeclaration;
 | 
			
		||||
import com.intellectualsites.commands.CommandCaller;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
import org.apache.commons.lang.StringUtils;
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
 | 
			
		||||
@@ -49,7 +49,7 @@ import com.intellectualcrafters.plot.util.EconHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.intellectualcrafters.plot.util.Permissions;
 | 
			
		||||
import com.intellectualcrafters.plot.util.StringComparison;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.chat.FancyMessage;
 | 
			
		||||
 | 
			
		||||
@CommandDeclaration(
 | 
			
		||||
 
 | 
			
		||||
@@ -7,7 +7,7 @@ import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import com.intellectualcrafters.plot.database.DBFunc;
 | 
			
		||||
import com.intellectualcrafters.plot.util.MainUtil;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
public class PlotHandler {
 | 
			
		||||
    public static HashSet<UUID> getOwners(Plot plot) {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,7 +23,6 @@ import com.intellectualcrafters.plot.object.PlotId;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotManager;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotWorld;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitUtil;
 | 
			
		||||
 | 
			
		||||
public class ClusterManager {
 | 
			
		||||
 
 | 
			
		||||
@@ -22,7 +22,6 @@ import com.intellectualcrafters.plot.object.PlotManager;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotWorld;
 | 
			
		||||
import com.intellectualcrafters.plot.object.RunnableVal;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
public class ExpireManager {
 | 
			
		||||
    public static ConcurrentHashMap<String, List<Plot>> expiredPlots = new ConcurrentHashMap<>();
 | 
			
		||||
 
 | 
			
		||||
@@ -45,7 +45,6 @@ import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotWorld;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PseudoRandom;
 | 
			
		||||
import com.intellectualcrafters.plot.object.RunnableVal;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitUtil;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -110,7 +109,7 @@ public class MainUtil {
 | 
			
		||||
        
 | 
			
		||||
        for (String term : split) {
 | 
			
		||||
            try {
 | 
			
		||||
                UUID uuid = UUIDHandler.getUUID(term);
 | 
			
		||||
                UUID uuid = UUIDHandler.getUUID(term, null);
 | 
			
		||||
                if (uuid == null) {
 | 
			
		||||
                    uuid = UUID.fromString(term);
 | 
			
		||||
                }
 | 
			
		||||
 
 | 
			
		||||
@@ -47,7 +47,6 @@ import com.intellectualcrafters.plot.object.PlotId;
 | 
			
		||||
import com.intellectualcrafters.plot.object.RunnableVal;
 | 
			
		||||
import com.intellectualcrafters.plot.object.schematic.PlotItem;
 | 
			
		||||
import com.plotsquared.bukkit.object.schematic.StateWrapper;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.WorldEditSchematic;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitSchematicHandler;
 | 
			
		||||
import com.plotsquared.bukkit.util.bukkit.BukkitUtil;
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,121 @@
 | 
			
		||||
package com.intellectualcrafters.plot.util;
 | 
			
		||||
 | 
			
		||||
import java.util.HashSet;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.BiMap;
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.Plot;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.RunnableVal;
 | 
			
		||||
import com.intellectualcrafters.plot.object.StringWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
			
		||||
 | 
			
		||||
public class UUIDHandler {
 | 
			
		||||
 | 
			
		||||
    public static UUIDHandlerImplementation implementation;
 | 
			
		||||
 | 
			
		||||
    public static void add(final StringWrapper name, final UUID uuid) {
 | 
			
		||||
        implementation.add(name, uuid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the map containing all names/uuids
 | 
			
		||||
     *
 | 
			
		||||
     * @return map with names + uuids
 | 
			
		||||
     *
 | 
			
		||||
     * @see com.google.common.collect.BiMap
 | 
			
		||||
     */
 | 
			
		||||
    public static BiMap<StringWrapper, UUID> getUuidMap() {
 | 
			
		||||
        return implementation.getUUIDMap();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Check if a uuid is cached
 | 
			
		||||
     *
 | 
			
		||||
     * @param uuid to check
 | 
			
		||||
     *
 | 
			
		||||
     * @return true of the uuid is cached
 | 
			
		||||
     *
 | 
			
		||||
     * @see com.google.common.collect.BiMap#containsValue(Object)
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean uuidExists(final UUID uuid) {
 | 
			
		||||
        return implementation.uuidExists(uuid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Check if a name is cached
 | 
			
		||||
     *
 | 
			
		||||
     * @param name to check
 | 
			
		||||
     *
 | 
			
		||||
     * @return true of the name is cached
 | 
			
		||||
     *
 | 
			
		||||
     * @see com.google.common.collect.BiMap#containsKey(Object)
 | 
			
		||||
     */
 | 
			
		||||
    public static boolean nameExists(final StringWrapper name) {
 | 
			
		||||
        return implementation.nameExists(name);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public static HashSet<UUID> getAllUUIDS() {
 | 
			
		||||
        HashSet<UUID> uuids = new HashSet<>();
 | 
			
		||||
        for (Plot plot : PS.get().getPlotsRaw()) {
 | 
			
		||||
            if (plot.owner != null) {
 | 
			
		||||
                uuids.add(plot.owner);
 | 
			
		||||
                uuids.addAll(plot.getTrusted());
 | 
			
		||||
                uuids.addAll(plot.getMembers());
 | 
			
		||||
                uuids.addAll(plot.getDenied());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return uuids;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static UUIDWrapper getUUIDWrapper() {
 | 
			
		||||
        return implementation.getUUIDWrapper();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void setUUIDWrapper(final UUIDWrapper wrapper) {
 | 
			
		||||
        implementation.setUUIDWrapper(wrapper);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void startCaching() {
 | 
			
		||||
        implementation.startCaching();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void cache(final BiMap<StringWrapper, UUID> toAdd) {
 | 
			
		||||
        implementation.add(toAdd);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static UUID getUUID(final PlotPlayer player) {
 | 
			
		||||
        return implementation.getUUID(player);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static UUID getUUID(final OfflinePlotPlayer player) {
 | 
			
		||||
        return implementation.getUUID(player);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static String getName(final UUID uuid) {
 | 
			
		||||
        return implementation.getName(uuid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static PlotPlayer getPlayer(final UUID uuid) {
 | 
			
		||||
        return implementation.getPlayer(uuid);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static PlotPlayer getPlayer(final String name) {
 | 
			
		||||
        return implementation.getPlayer(name);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public static UUID getUUID(final String name, RunnableVal<UUID> ifFetch) {
 | 
			
		||||
        return implementation.getUUID(name, ifFetch);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static Map<String, PlotPlayer> getPlayers() {
 | 
			
		||||
        return implementation.getPlayers();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public static void handleShutdown() {
 | 
			
		||||
        implementation.handleShutdown();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,176 @@
 | 
			
		||||
package com.intellectualcrafters.plot.util;
 | 
			
		||||
 | 
			
		||||
import com.google.common.collect.BiMap;
 | 
			
		||||
import com.google.common.collect.HashBiMap;
 | 
			
		||||
import com.intellectualcrafters.plot.PS;
 | 
			
		||||
import com.intellectualcrafters.plot.config.C;
 | 
			
		||||
import com.intellectualcrafters.plot.config.Settings;
 | 
			
		||||
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.RunnableVal;
 | 
			
		||||
import com.intellectualcrafters.plot.object.StringWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.LowerOfflineUUIDWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
 | 
			
		||||
import com.intellectualcrafters.plot.uuid.UUIDWrapper;
 | 
			
		||||
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
 | 
			
		||||
public abstract class UUIDHandlerImplementation {
 | 
			
		||||
    
 | 
			
		||||
    private BiMap<StringWrapper, UUID> uuidMap = HashBiMap.create(new HashMap<StringWrapper, UUID>());
 | 
			
		||||
    public boolean CACHED = false;
 | 
			
		||||
    public UUIDWrapper uuidWrapper = null;
 | 
			
		||||
    public final HashMap<String, PlotPlayer> players;
 | 
			
		||||
    
 | 
			
		||||
    public UUIDHandlerImplementation(UUIDWrapper wrapper) {
 | 
			
		||||
        this.uuidWrapper = wrapper;
 | 
			
		||||
        this.players = new HashMap<>();
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
     * If the UUID is not found, some commands can request to fetch the UUID when possible
 | 
			
		||||
     * @param player
 | 
			
		||||
     * @param ifFetch
 | 
			
		||||
     */
 | 
			
		||||
    public abstract void fetchUUID(String name, RunnableVal<UUID> ifFetch);
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
     * Start UUID caching (this should be an async task)
 | 
			
		||||
     * Recommended to override this is you want to cache offline players
 | 
			
		||||
     */
 | 
			
		||||
    public boolean startCaching() {
 | 
			
		||||
        if (CACHED) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        return this.CACHED = true;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public UUIDWrapper getUUIDWrapper() {
 | 
			
		||||
        return this.uuidWrapper;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public void setUUIDWrapper(UUIDWrapper wrapper) {
 | 
			
		||||
        this.uuidWrapper = wrapper;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public void add(final BiMap<StringWrapper, UUID> toAdd) {
 | 
			
		||||
        if (uuidMap.size() == 0) {
 | 
			
		||||
            uuidMap = toAdd;
 | 
			
		||||
        }
 | 
			
		||||
        TaskManager.runTask(new Runnable() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void run() {
 | 
			
		||||
                for (Map.Entry<StringWrapper, UUID> entry : toAdd.entrySet()) {
 | 
			
		||||
                    add(entry.getKey(), entry.getValue());
 | 
			
		||||
                }
 | 
			
		||||
                PS.log(C.PREFIX.s() + "&6Cached a total of: " + uuidMap.size() + " UUIDs");
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public boolean add(final StringWrapper name, final UUID uuid) {
 | 
			
		||||
        if ((uuid == null) || (name == null)) {
 | 
			
		||||
            return false;
 | 
			
		||||
        }
 | 
			
		||||
        BiMap<UUID, StringWrapper> inverse = uuidMap.inverse();
 | 
			
		||||
        if (inverse.containsKey(uuid)) {
 | 
			
		||||
            if (uuidMap.containsKey(name)) {
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            inverse.remove(uuid);
 | 
			
		||||
        }
 | 
			
		||||
        uuidMap.put(name, uuid);
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public boolean uuidExists(final UUID uuid) {
 | 
			
		||||
        return uuidMap.containsValue(uuid);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public BiMap<StringWrapper, UUID> getUUIDMap() {
 | 
			
		||||
        return uuidMap;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public boolean nameExists(final StringWrapper wrapper) {
 | 
			
		||||
        return uuidMap.containsKey(wrapper);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public void handleShutdown() {
 | 
			
		||||
        players.clear();
 | 
			
		||||
        uuidMap.clear();
 | 
			
		||||
        uuidWrapper = null;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public String getName(final UUID uuid) {
 | 
			
		||||
        if (uuid == null) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        // check online
 | 
			
		||||
        final PlotPlayer player = getPlayer(uuid);
 | 
			
		||||
        if (player != null) {
 | 
			
		||||
            return player.getName();
 | 
			
		||||
        }
 | 
			
		||||
        // check cache
 | 
			
		||||
        final StringWrapper name = uuidMap.inverse().get(uuid);
 | 
			
		||||
        if (name != null) {
 | 
			
		||||
            return name.value;
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public UUID getUUID(final String name, RunnableVal<UUID> ifFetch) {
 | 
			
		||||
        if ((name == null) || (name.length() == 0)) {
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        // check online
 | 
			
		||||
        final PlotPlayer player = getPlayer(name);
 | 
			
		||||
        if (player != null) {
 | 
			
		||||
            return player.getUUID();
 | 
			
		||||
        }
 | 
			
		||||
        // check cache
 | 
			
		||||
        final StringWrapper wrap = new StringWrapper(name);
 | 
			
		||||
        UUID uuid = uuidMap.get(wrap);
 | 
			
		||||
        if (uuid != null) {
 | 
			
		||||
            return uuid;
 | 
			
		||||
        }
 | 
			
		||||
        // Read from disk OR convert directly to offline UUID
 | 
			
		||||
        if (uuidWrapper instanceof OfflineUUIDWrapper || uuidWrapper instanceof LowerOfflineUUIDWrapper) {
 | 
			
		||||
            uuid = uuidWrapper.getUUID(name);
 | 
			
		||||
            add(new StringWrapper(name), uuid);
 | 
			
		||||
            return uuid;
 | 
			
		||||
        }
 | 
			
		||||
        if (Settings.UUID_FROM_DISK && ifFetch != null) {
 | 
			
		||||
            fetchUUID(name, ifFetch);
 | 
			
		||||
            return null;
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public UUID getUUID(final PlotPlayer player) {
 | 
			
		||||
        return uuidWrapper.getUUID(player);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public UUID getUUID(final OfflinePlotPlayer player) {
 | 
			
		||||
        return uuidWrapper.getUUID(player);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public PlotPlayer getPlayer(final UUID uuid) {
 | 
			
		||||
        for (final PlotPlayer player : players.values()) {
 | 
			
		||||
            if (player.getUUID().equals(uuid)) {
 | 
			
		||||
                return player;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return null;
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public PlotPlayer getPlayer(String name) {
 | 
			
		||||
        return players.get(name);
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public Map<String, PlotPlayer> getPlayers() {
 | 
			
		||||
        return players;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -16,7 +16,7 @@ import com.plotsquared.bukkit.object.BukkitOfflinePlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.StringWrapper;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
public class LowerOfflineUUIDWrapper extends OfflineUUIDWrapper {
 | 
			
		||||
    private Method getOnline = null;
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@ import com.plotsquared.bukkit.object.BukkitOfflinePlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.OfflinePlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.PlotPlayer;
 | 
			
		||||
import com.intellectualcrafters.plot.object.StringWrapper;
 | 
			
		||||
import com.plotsquared.bukkit.util.UUIDHandler;
 | 
			
		||||
import com.intellectualcrafters.plot.util.UUIDHandler;
 | 
			
		||||
 | 
			
		||||
public class OfflineUUIDWrapper extends UUIDWrapper {
 | 
			
		||||
    private Method getOnline = null;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user