Class ReloadableResourceManagerImpl

java.lang.Object
net.minecraft.resource.ReloadableResourceManagerImpl
All Implemented Interfaces:
AutoCloseable, ReloadableResourceManager, ResourceFactory, ResourceManager

public class ReloadableResourceManagerImpl extends Object implements ReloadableResourceManager
Mappings:
Namespace Name
official afq
intermediary net/minecraft/class_3304
named net/minecraft/resource/ReloadableResourceManagerImpl
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official a Lafq;a:Lorg/apache/logging/log4j/Logger;
      intermediary field_14295 Lnet/minecraft/class_3304;field_14295:Lorg/apache/logging/log4j/Logger;
      named LOGGER Lnet/minecraft/resource/ReloadableResourceManagerImpl;LOGGER:Lorg/apache/logging/log4j/Logger;
    • namespaceManagers

      private final Map<String,NamespaceResourceManager> namespaceManagers
      Mappings:
      Namespace Name Mixin selector
      official b Lafq;b:Ljava/util/Map;
      intermediary field_14293 Lnet/minecraft/class_3304;field_14293:Ljava/util/Map;
      named namespaceManagers Lnet/minecraft/resource/ReloadableResourceManagerImpl;namespaceManagers:Ljava/util/Map;
    • reloaders

      private final List<ResourceReloader> reloaders
      Mappings:
      Namespace Name Mixin selector
      official c Lafq;c:Ljava/util/List;
      intermediary field_17935 Lnet/minecraft/class_3304;field_17935:Ljava/util/List;
      named reloaders Lnet/minecraft/resource/ReloadableResourceManagerImpl;reloaders:Ljava/util/List;
    • namespaces

      private final Set<String> namespaces
      Mappings:
      Namespace Name Mixin selector
      official d Lafq;d:Ljava/util/Set;
      intermediary field_14292 Lnet/minecraft/class_3304;field_14292:Ljava/util/Set;
      named namespaces Lnet/minecraft/resource/ReloadableResourceManagerImpl;namespaces:Ljava/util/Set;
    • packs

      private final List<ResourcePack> packs
      Mappings:
      Namespace Name Mixin selector
      official e Lafq;e:Ljava/util/List;
      intermediary field_25145 Lnet/minecraft/class_3304;field_25145:Ljava/util/List;
      named packs Lnet/minecraft/resource/ReloadableResourceManagerImpl;packs:Ljava/util/List;
    • type

      private final ResourceType type
      Mappings:
      Namespace Name Mixin selector
      official f Lafq;f:Laen;
      intermediary field_14294 Lnet/minecraft/class_3304;field_14294:Lnet/minecraft/class_3264;
      named type Lnet/minecraft/resource/ReloadableResourceManagerImpl;type:Lnet/minecraft/resource/ResourceType;
  • Constructor Details

    • ReloadableResourceManagerImpl

      public ReloadableResourceManagerImpl(ResourceType type)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lafq;<init>(Laen;)V
      intermediary <init> Lnet/minecraft/class_3304;<init>(Lnet/minecraft/class_3264;)V
      named <init> Lnet/minecraft/resource/ReloadableResourceManagerImpl;<init>(Lnet/minecraft/resource/ResourceType;)V
  • Method Details

    • addPack

      public void addPack(ResourcePack pack)
      Mappings:
      Namespace Name Mixin selector
      official a Lafq;a(Laem;)V
      intermediary method_14475 Lnet/minecraft/class_3304;method_14475(Lnet/minecraft/class_3262;)V
      named addPack Lnet/minecraft/resource/ReloadableResourceManagerImpl;addPack(Lnet/minecraft/resource/ResourcePack;)V
    • getAllNamespaces

      public Set<String> getAllNamespaces()
      Gets a set of all namespaces offered by the resource packs loaded by this manager.
      Specified by:
      getAllNamespaces in interface ResourceManager
      Mappings:
      Namespace Name Mixin selector
      official a Lafk;a()Ljava/util/Set;
      intermediary method_14487 Lnet/minecraft/class_3300;method_14487()Ljava/util/Set;
      named getAllNamespaces Lnet/minecraft/resource/ResourceManager;getAllNamespaces()Ljava/util/Set;
    • getResource

      public Resource getResource(Identifier id) throws IOException
      Finds and returns the corresponding resource for a resource's identifier.

      Starts by scanning each resource pack from highest priority to lowest. If no resource packs were found to contain the requested entry, will throw a FileNotFoundException.

      The returned resource must be closed to avoid resource leaks.

      Specified by:
      getResource in interface ResourceFactory
      Parameters:
      id - the resource identifier to search for
      Throws:
      FileNotFoundException - if the identified resource could not be found, or could not be loaded.
      IOException - if the identified resource was found but a stream to it could not be opened.
      Mappings:
      Namespace Name Mixin selector
      official a Lafm;a(Lyh;)Lafj;
      intermediary method_14486 Lnet/minecraft/class_5912;method_14486(Lnet/minecraft/class_2960;)Lnet/minecraft/class_3298;
      named getResource Lnet/minecraft/resource/ResourceFactory;getResource(Lnet/minecraft/util/Identifier;)Lnet/minecraft/resource/Resource;
    • containsResource

      public boolean containsResource(Identifier id)
      Checks whether any of the currently-loaded resource packs contain an entry for the given id.

      Starts by querying the resource pack with the highest priority to lowest until it finds one that responds to the requested identifier.

      Specified by:
      containsResource in interface ResourceManager
      Parameters:
      id - the resource identifier to search for
      Mappings:
      Namespace Name Mixin selector
      official b Lafk;b(Lyh;)Z
      intermediary method_18234 Lnet/minecraft/class_3300;method_18234(Lnet/minecraft/class_2960;)Z
      named containsResource Lnet/minecraft/resource/ResourceManager;containsResource(Lnet/minecraft/util/Identifier;)Z
    • getAllResources

      public List<Resource> getAllResources(Identifier id) throws IOException
      Gets all of the available resources to the corresponding resource identifier.

      Resources are returned in load order, or ascending order of priority, so the last element in the returned list is what would be returned normally by ResourceFactory.getResource(net.minecraft.util.Identifier)

      Each resource in this returned list must be closed to avoid resource leaks.

      Specified by:
      getAllResources in interface ResourceManager
      Parameters:
      id - the resource identifier to search for
      Throws:
      FileNotFoundException - if no matching resources could be found (i.e. if the list would be empty)
      IOException - if resources were found, but any one of them could not be opened to be read.
      Mappings:
      Namespace Name Mixin selector
      official c Lafk;c(Lyh;)Ljava/util/List;
      intermediary method_14489 Lnet/minecraft/class_3300;method_14489(Lnet/minecraft/class_2960;)Ljava/util/List;
      named getAllResources Lnet/minecraft/resource/ResourceManager;getAllResources(Lnet/minecraft/util/Identifier;)Ljava/util/List;
    • findResources

      public Collection<Identifier> findResources(String startingPath, Predicate<String> pathPredicate)
      Returns a sorted list of identifiers matching a path predicate.

      Scanning begins in startingPath and each candidate file present under that directory will be offered up to the predicate to decide whether it should be included or not.

      Elements in the returned list may not, necessarily be unique. Additional effort is advised to ensure that duplicates in the returned list are discarded before loading.

      Specified by:
      findResources in interface ResourceManager
      Parameters:
      startingPath - the starting path to begin scanning from
      pathPredicate - a predicate to determine whether a path should be included or not
      Returns:
      the list matching identifiers
      Mappings:
      Namespace Name Mixin selector
      official a Lafk;a(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Collection;
      intermediary method_14488 Lnet/minecraft/class_3300;method_14488(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Collection;
      named findResources Lnet/minecraft/resource/ResourceManager;findResources(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Collection;
    • clear

      private void clear()
      Mappings:
      Namespace Name Mixin selector
      official c Lafq;c()V
      intermediary method_14495 Lnet/minecraft/class_3304;method_14495()V
      named clear Lnet/minecraft/resource/ReloadableResourceManagerImpl;clear()V
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface ReloadableResourceManager
    • registerReloader

      public void registerReloader(ResourceReloader reloader)
      Registers a resource reloader to this manager.
      Specified by:
      registerReloader in interface ReloadableResourceManager
      Parameters:
      reloader - the reloader
      Mappings:
      Namespace Name Mixin selector
      official a Lafi;a(Laff;)V
      intermediary method_14477 Lnet/minecraft/class_3296;method_14477(Lnet/minecraft/class_3302;)V
      named registerReloader Lnet/minecraft/resource/ReloadableResourceManager;registerReloader(Lnet/minecraft/resource/ResourceReloader;)V
    • reload

      public ResourceReload reload(Executor prepareExecutor, Executor applyExecutor, CompletableFuture<Unit> initialStage, List<ResourcePack> packs)
      Performs a reload. Returns an object that yields some insights to the reload.

      prepareExecutor may be asynchronous. applyExecutor must synchronize with the game engine so changes are properly made to it. The reload will only begin after initialStage has completed. Earlier elements in packs have lower priorities.

      Specified by:
      reload in interface ReloadableResourceManager
      Parameters:
      prepareExecutor - an executor for the prepare stage
      applyExecutor - an executor for the apply stage
      initialStage - a completable future to be completed before this reload
      packs - a list of resource packs providing resources
      Returns:
      the reload
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lafi;a(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lafh;
      intermediary method_18232 Lnet/minecraft/class_3296;method_18232(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lnet/minecraft/class_4011;
      named reload Lnet/minecraft/resource/ReloadableResourceManager;reload(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lnet/minecraft/resource/ResourceReload;
    • streamResourcePacks

      public Stream<ResourcePack> streamResourcePacks()
      Gets a stream of loaded resource packs in increasing order of priority.
      Specified by:
      streamResourcePacks in interface ResourceManager
      Mappings:
      Namespace Name Mixin selector
      official b Lafk;b()Ljava/util/stream/Stream;
      intermediary method_29213 Lnet/minecraft/class_3300;method_29213()Ljava/util/stream/Stream;
      named streamResourcePacks Lnet/minecraft/resource/ResourceManager;streamResourcePacks()Ljava/util/stream/Stream;