/* * Minecraft Forge * Copyright (c) 2016. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation version 2.1 * of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ package net.minecraftforge.common; import static com.google.common.base.Preconditions.checkNotNull; import java.io.File; import java.io.IOException; import java.lang.reflect.Type; import java.nio.charset.Charset; import java.util.Map; import java.util.UUID; import javax.annotation.Nullable; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.google.common.io.Files; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonSyntaxException; import net.minecraftforge.fml.relauncher.FMLInjectionData; /** * Caches player's last known usernames *
* Modders should use {@link #getLastKnownUsername(UUID)} to determine a players
* last known username.
* May be
* For convenience, {@link #getMap()} is provided to get an immutable copy of
* the caches underlying map.
*/
public final class UsernameCache {
private static Mapnull
*
* @param uuid
* the player's {@link java.util.UUID UUID}
* @return the player's last known username, or null if the
* cache doesn't have a record of the last username
*/
@Nullable
public static String getLastKnownUsername(UUID uuid)
{
checkNotNull(uuid);
return map.get(uuid);
}
/**
* Check if the cache contains the given player's username
*
* @param uuid
* the player's {@link java.util.UUID UUID}
* @return if the cache contains a username for the given player
*/
public static boolean containsUUID(UUID uuid)
{
checkNotNull(uuid);
return map.containsKey(uuid);
}
/**
* Get an immutable copy of the cache's underlying map
*
* @return the map
*/
public static Map