Class ReloadableResourceManagerImpl

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

public class ReloadableResourceManagerImpl extends Object implements ResourceManager, AutoCloseable
A reloadable resource manager is always available to be accessed, and is the type used by the minecraft client instance. It has a backing active resource manager that it delegates to.

It starts with an empty active resource manager, and swaps the active resource manager whenever it reloads; in addition, closing it will replace the active resource manager with an empty one, and the reloadable manager itself is still accessible to users, as opposed to the lifecycled resource manager.

Mappings:
Namespace Name
named net/minecraft/resource/ReloadableResourceManagerImpl
intermediary net/minecraft/class_3304
official att
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/resource/ReloadableResourceManagerImpl;LOGGER:Lorg/slf4j/Logger;
      intermediary field_14295 Lnet/minecraft/class_3304;field_14295:Lorg/slf4j/Logger;
      official a Latt;a:Lorg/slf4j/Logger;
    • activeManager

      private LifecycledResourceManager activeManager
      Mappings:
      Namespace Name Mixin selector
      named activeManager Lnet/minecraft/resource/ReloadableResourceManagerImpl;activeManager:Lnet/minecraft/resource/LifecycledResourceManager;
      intermediary field_36391 Lnet/minecraft/class_3304;field_36391:Lnet/minecraft/class_6860;
      official c Latt;c:Latm;
    • reloaders

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

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

    • ReloadableResourceManagerImpl

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

    • close

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

      public void registerReloader(ResourceReloader reloader)
      Registers a reloader to all future reloads on this resource manager.
      Mappings:
      Namespace Name Mixin selector
      named registerReloader Lnet/minecraft/resource/ReloadableResourceManagerImpl;registerReloader(Lnet/minecraft/resource/ResourceReloader;)V
      intermediary method_14477 Lnet/minecraft/class_3304;method_14477(Lnet/minecraft/class_3302;)V
      official a Latt;a(Latq;)V
    • reload

      public ResourceReload reload(Executor prepareExecutor, Executor applyExecutor, CompletableFuture<Unit> initialStage, List<ResourcePack> packs)
      Swaps the active resource manager with another one backed by the given packs and start a reload.
      Mappings:
      Namespace Name Mixin selector
      named reload Lnet/minecraft/resource/ReloadableResourceManagerImpl;reload(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lnet/minecraft/resource/ResourceReload;
      intermediary method_18232 Lnet/minecraft/class_3304;method_18232(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lnet/minecraft/class_4011;
      official a Latt;a(Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletableFuture;Ljava/util/List;)Lats;
    • getResource

      public Optional<Resource> getResource(Identifier id)
      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 return Optional.empty().

      The returned resource must be closed to avoid resource leaks.

      Specified by:
      getResource in interface ResourceFactory
      Parameters:
      id - the resource identifier to search for
      Mappings:
      Namespace Name Mixin selector
      named getResource Lnet/minecraft/resource/ResourceFactory;getResource(Lnet/minecraft/util/Identifier;)Ljava/util/Optional;
      intermediary method_14486 Lnet/minecraft/class_5912;method_14486(Lnet/minecraft/class_2960;)Ljava/util/Optional;
      official getResource Latz;getResource(Lakk;)Ljava/util/Optional;
    • 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
      named getAllNamespaces Lnet/minecraft/resource/ResourceManager;getAllNamespaces()Ljava/util/Set;
      intermediary method_14487 Lnet/minecraft/class_3300;method_14487()Ljava/util/Set;
      official a Latw;a()Ljava/util/Set;
    • getAllResources

      public List<Resource> getAllResources(Identifier id)
      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 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
      Mappings:
      Namespace Name Mixin selector
      named getAllResources Lnet/minecraft/resource/ResourceManager;getAllResources(Lnet/minecraft/util/Identifier;)Ljava/util/List;
      intermediary method_14489 Lnet/minecraft/class_3300;method_14489(Lnet/minecraft/class_2960;)Ljava/util/List;
      official a Latw;a(Lakk;)Ljava/util/List;
    • findResources

      public Map<Identifier,Resource> findResources(String startingPath, Predicate<Identifier> allowedPathPredicate)
      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
      allowedPathPredicate - a predicate to determine whether a path should be included or not
      Returns:
      the list matching identifiers
      Mappings:
      Namespace Name Mixin selector
      named findResources Lnet/minecraft/resource/ResourceManager;findResources(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
      intermediary method_14488 Lnet/minecraft/class_3300;method_14488(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
      official b Latw;b(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
    • findAllResources

      public Map<Identifier,List<Resource>> findAllResources(String startingPath, Predicate<Identifier> allowedPathPredicate)
      Specified by:
      findAllResources in interface ResourceManager
      Mappings:
      Namespace Name Mixin selector
      named findAllResources Lnet/minecraft/resource/ResourceManager;findAllResources(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
      intermediary method_41265 Lnet/minecraft/class_3300;method_41265(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
      official c Latw;c(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
    • 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
      named streamResourcePacks Lnet/minecraft/resource/ResourceManager;streamResourcePacks()Ljava/util/stream/Stream;
      intermediary method_29213 Lnet/minecraft/class_3300;method_29213()Ljava/util/stream/Stream;
      official b Latw;b()Ljava/util/stream/Stream;