Class LifecycledResourceManagerImpl

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

public class LifecycledResourceManagerImpl extends Object implements LifecycledResourceManager
A basic implementation of resource manager with a lifecycle.

It handles resources by namespaces, hoping that most namespaces are defined in only few resource packs.

See Also:
Mappings:
Namespace Name
official aqb
intermediary net/minecraft/class_6861
named net/minecraft/resource/LifecycledResourceManagerImpl
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official a Laqb;a:Lorg/slf4j/Logger;
      intermediary field_37288 Lnet/minecraft/class_6861;field_37288:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/resource/LifecycledResourceManagerImpl;LOGGER:Lorg/slf4j/Logger;
    • subManagers

      private final Map<String,NamespaceResourceManager> subManagers
      Mappings:
      Namespace Name Mixin selector
      official b Laqb;b:Ljava/util/Map;
      intermediary field_36389 Lnet/minecraft/class_6861;field_36389:Ljava/util/Map;
      named subManagers Lnet/minecraft/resource/LifecycledResourceManagerImpl;subManagers:Ljava/util/Map;
    • packs

      private final List<ResourcePack> packs
      Mappings:
      Namespace Name Mixin selector
      official c Laqb;c:Ljava/util/List;
      intermediary field_36390 Lnet/minecraft/class_6861;field_36390:Ljava/util/List;
      named packs Lnet/minecraft/resource/LifecycledResourceManagerImpl;packs:Ljava/util/List;
  • Constructor Details

    • LifecycledResourceManagerImpl

      public LifecycledResourceManagerImpl(ResourceType type, List<ResourcePack> packs)
      Mappings:
      Namespace Name Mixin selector
      official <init> Laqb;<init>(Laox;Ljava/util/List;)V
      intermediary <init> Lnet/minecraft/class_6861;<init>(Lnet/minecraft/class_3264;Ljava/util/List;)V
      named <init> Lnet/minecraft/resource/LifecycledResourceManagerImpl;<init>(Lnet/minecraft/resource/ResourceType;Ljava/util/List;)V
  • Method Details

    • parseResourceFilter

      @Nullable private @Nullable ResourceFilter parseResourceFilter(ResourcePack pack)
      Mappings:
      Namespace Name Mixin selector
      official a Laqb;a(Laow;)Laqh;
      intermediary method_41274 Lnet/minecraft/class_6861;method_41274(Lnet/minecraft/class_3262;)Lnet/minecraft/class_7084;
      named parseResourceFilter Lnet/minecraft/resource/LifecycledResourceManagerImpl;parseResourceFilter(Lnet/minecraft/resource/ResourcePack;)Lnet/minecraft/resource/metadata/ResourceFilter;
    • 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 Laqi;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 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
      official getResource Laql;getResource(Lahg;)Ljava/util/Optional;
      intermediary method_14486 Lnet/minecraft/class_5912;method_14486(Lnet/minecraft/class_2960;)Ljava/util/Optional;
      named getResource Lnet/minecraft/resource/ResourceFactory;getResource(Lnet/minecraft/util/Identifier;)Ljava/util/Optional;
    • 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 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
      Mappings:
      Namespace Name Mixin selector
      official a Laqi;a(Lahg;)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 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
      official b Laqi;b(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;
      named findResources Lnet/minecraft/resource/ResourceManager;findResources(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
      official c Laqi;c(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;
      named findAllResources Lnet/minecraft/resource/ResourceManager;findAllResources(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
    • validateStartingPath

      private static void validateStartingPath(String startingPath)
      Validates the starting path to ensure that it does not end with a slash.
      Throws:
      IllegalArgumentException - if startingPath has a trailing slash
      Mappings:
      Namespace Name Mixin selector
      official a Laqb;a(Ljava/lang/String;)V
      intermediary method_45303 Lnet/minecraft/class_6861;method_45303(Ljava/lang/String;)V
      named validateStartingPath Lnet/minecraft/resource/LifecycledResourceManagerImpl;validateStartingPath(Ljava/lang/String;)V
    • 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 Laqi;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;
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface LifecycledResourceManager