Class SkullCache


  • public class SkullCache
    extends Object
    Handles fetching and caching player skulls for easier use in GUIs.
    • Constructor Summary

      Constructors 
      Constructor Description
      SkullCache()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void cacheSkull​(UUID uuid)
      Cache a skull from a uuid.
      static void cacheSkull​(org.bukkit.entity.Player player)
      Cache a skull from an online player.
      static void cacheSkull​(org.bukkit.OfflinePlayer offlinePlayer)
      Cache a skull from an offline player.
      static void cacheSkulls​(UUID[] uuids)
      Cache an array of skulls from uuids.
      static void cacheSkulls​(org.bukkit.entity.Player[] players)
      Cache an array of skulls from online players.
      static void cacheSkulls​(org.bukkit.OfflinePlayer[] offlinePlayers)
      Cache an array of skulls from offline players.
      static org.bukkit.inventory.ItemStack createSkull()
      Creates a new player head item stack.
      static void flush​(long milliseconds)
      Remove skulls from memory if they haven't been cached or accessed within the specified amount of time.
      static void flushWeek()
      Remove skulls from memory that haven't been cached or accessed within a week.
      static org.bukkit.inventory.ItemStack getSkull​(UUID uuid)
      Get a skull from a uuid.
      static org.bukkit.inventory.ItemStack getSkull​(org.bukkit.entity.Player player)
      Get a skull from an online player.
      static org.bukkit.inventory.ItemStack getSkull​(org.bukkit.OfflinePlayer offlinePlayer)
      Get a skull from an offline player.
      static org.bukkit.inventory.ItemStack[] getSkulls​(UUID[] uuids)
      Get an array of player skulls from uuids.
      static org.bukkit.inventory.ItemStack[] getSkulls​(org.bukkit.entity.Player[] players)
      Get an array of online player skulls from online players.
      static org.bukkit.inventory.ItemStack[] getSkulls​(org.bukkit.OfflinePlayer[] offlinePlayers)
      Get an array of offline player skulls from offline players.
      static org.bukkit.inventory.ItemStack itemWithUuid​(org.bukkit.inventory.ItemStack item, UUID id)
      Modifies a skull to use the skin of the player with a given uuid.
      static org.bukkit.inventory.ItemStack skullFromUuid​(UUID id)
      Creates a player skull item with the skin based on a player's UUID.
    • Constructor Detail

      • SkullCache

        public SkullCache()
    • Method Detail

      • cacheSkull

        public static void cacheSkull​(UUID uuid)
        Cache a skull from a uuid.
        Parameters:
        uuid - The player's uuid.
      • cacheSkull

        public static void cacheSkull​(org.bukkit.OfflinePlayer offlinePlayer)
        Cache a skull from an offline player.
        Parameters:
        offlinePlayer - The offline player.
      • cacheSkull

        public static void cacheSkull​(org.bukkit.entity.Player player)
        Cache a skull from an online player.
        Parameters:
        player - The online player.
      • cacheSkulls

        public static void cacheSkulls​(UUID[] uuids)
        Cache an array of skulls from uuids. Task will run asynchronously in an attempt to prevent server lag.
        Parameters:
        uuids - Array of uuids.
      • cacheSkulls

        public static void cacheSkulls​(org.bukkit.OfflinePlayer[] offlinePlayers)
        Cache an array of skulls from offline players.
        Parameters:
        offlinePlayers - Array of offline players.
      • cacheSkulls

        public static void cacheSkulls​(org.bukkit.entity.Player[] players)
        Cache an array of skulls from online players.
        Parameters:
        players - Array of online players.
      • getSkull

        public static org.bukkit.inventory.ItemStack getSkull​(UUID uuid)
        Get a skull from a uuid. If the skull is not saved in memory it will be fetched from Mojang and then cached for future use.
        Parameters:
        uuid - The player's uuid.
        Returns:
        ItemStack of the player's skull.
      • getSkull

        public static org.bukkit.inventory.ItemStack getSkull​(org.bukkit.OfflinePlayer offlinePlayer)
        Get a skull from an offline player. If the skull is not saved in memory it will be fetched from Mojang and then cached for future use.
        Parameters:
        offlinePlayer - The offline player.
        Returns:
        ItemStack of the offline player's skull.
      • getSkull

        public static org.bukkit.inventory.ItemStack getSkull​(org.bukkit.entity.Player player)
        Get a skull from an online player. If the skull is not saved in memory it will be fetched from Mojang and then cached for future use.
        Parameters:
        player - The online player.
        Returns:
        ItemStack of the online player's skull.
      • getSkulls

        public static org.bukkit.inventory.ItemStack[] getSkulls​(UUID[] uuids)
        Get an array of player skulls from uuids.
        Parameters:
        uuids - Array of uuids.
        Returns:
        ItemStack array of skulls.
      • getSkulls

        public static org.bukkit.inventory.ItemStack[] getSkulls​(org.bukkit.OfflinePlayer[] offlinePlayers)
        Get an array of offline player skulls from offline players.
        Parameters:
        offlinePlayers - Array of offline players.
        Returns:
        ItemStack array of skulls.
      • getSkulls

        public static org.bukkit.inventory.ItemStack[] getSkulls​(org.bukkit.entity.Player[] players)
        Get an array of online player skulls from online players.
        Parameters:
        players - Array of online players.
        Returns:
        ItemStack array of skulls.
      • flush

        public static void flush​(long milliseconds)
        Remove skulls from memory if they haven't been cached or accessed within the specified amount of time.
        Parameters:
        milliseconds - Duration of time given in milliseconds.
      • flushWeek

        public static void flushWeek()
        Remove skulls from memory that haven't been cached or accessed within a week.
      • createSkull

        public static org.bukkit.inventory.ItemStack createSkull()
        Creates a new player head item stack.
        Returns:
        Player head.
      • skullFromUuid

        public static org.bukkit.inventory.ItemStack skullFromUuid​(UUID id)
        Creates a player skull item with the skin based on a player's UUID.
        Parameters:
        id - The player's UUID.
        Returns:
        The head of the player.
      • itemWithUuid

        public static org.bukkit.inventory.ItemStack itemWithUuid​(org.bukkit.inventory.ItemStack item,
                                                                  UUID id)
                                                           throws Exception
        Modifies a skull to use the skin of the player with a given uuid.
        Parameters:
        item - The item to apply the name to. Must be a player skull.
        id - The player's uuid.
        Returns:
        The head of the player.
        Throws:
        Exception - if the player is not found