Class GuiCacheManager

java.lang.Object
dev.crafty.core.gui.GuiCacheManager

public class GuiCacheManager extends Object
Manages caching of GUI configuration files to improve performance. Loads all menu configs at startup and provides cached access.
  • Constructor Details

    • GuiCacheManager

      public GuiCacheManager(CraftyLogger logger)
  • Method Details

    • loadMenuConfigs

      public void loadMenuConfigs(CraftyPlugin plugin)
      Loads all menu configuration files for a plugin into the cache. This should be called during plugin startup.
      Parameters:
      plugin - The plugin to load menu configs for
    • getMenuConfig

      public org.bukkit.configuration.file.YamlConfiguration getMenuConfig(CraftyPlugin plugin, String menuId)
      Gets a cached menu configuration, creating it if it doesn't exist.
      Parameters:
      plugin - The plugin that owns the menu
      menuId - The ID of the menu
      Returns:
      The cached YamlConfiguration
    • reloadMenuConfigs

      public void reloadMenuConfigs(CraftyPlugin plugin)
      Reloads all menu configurations for a plugin. This should be called when configs are reloaded.
      Parameters:
      plugin - The plugin to reload menu configs for
    • reloadAllMenuConfigs

      public void reloadAllMenuConfigs()
      Reloads all menu configurations for all plugins.
    • clearPluginCache

      public void clearPluginCache(CraftyPlugin plugin)
      Clears the cache for a specific plugin. This should be called when a plugin is disabled.
      Parameters:
      plugin - The plugin to clear cache for
    • getCachedConfigCount

      public int getCachedConfigCount(CraftyPlugin plugin)
      Gets the number of cached menu configurations for a plugin.
      Parameters:
      plugin - The plugin to check
      Returns:
      The number of cached configurations
    • isMenuConfigCached

      public boolean isMenuConfigCached(CraftyPlugin plugin, String menuId)
      Checks if a menu configuration is cached.
      Parameters:
      plugin - The plugin that owns the menu
      menuId - The ID of the menu
      Returns:
      True if the configuration is cached