Class NamespaceResourceManager

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

public class NamespaceResourceManager extends Object implements ResourceManager
A resource manager that only loads resources for a specific namespace. This is an implementation detail for LifecycledResourceManagerImpl, based on the heuristic that most namespaces are only defined in few resource packs, making loading in those namespaces faster.
See Also:
Mappings:
Namespace Name
named net/minecraft/resource/NamespaceResourceManager
intermediary net/minecraft/class_3294
official aug
  • Field Details

    • LOGGER

      static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/resource/NamespaceResourceManager;LOGGER:Lorg/slf4j/Logger;
      intermediary field_14285 Lnet/minecraft/class_3294;field_14285:Lorg/slf4j/Logger;
      official c Laug;c:Lorg/slf4j/Logger;
    • packList

      protected final List<NamespaceResourceManager.FilterablePack> packList
      Mappings:
      Namespace Name Mixin selector
      named packList Lnet/minecraft/resource/NamespaceResourceManager;packList:Ljava/util/List;
      intermediary field_14283 Lnet/minecraft/class_3294;field_14283:Ljava/util/List;
      official a Laug;a:Ljava/util/List;
    • type

      private final ResourceType type
      Mappings:
      Namespace Name Mixin selector
      named type Lnet/minecraft/resource/NamespaceResourceManager;type:Lnet/minecraft/resource/ResourceType;
      intermediary field_14284 Lnet/minecraft/class_3294;field_14284:Lnet/minecraft/class_3264;
      official d Laug;d:Latd;
    • namespace

      private final String namespace
      Mappings:
      Namespace Name Mixin selector
      named namespace Lnet/minecraft/resource/NamespaceResourceManager;namespace:Ljava/lang/String;
      intermediary field_21561 Lnet/minecraft/class_3294;field_21561:Ljava/lang/String;
      official e Laug;e:Ljava/lang/String;
  • Constructor Details

    • NamespaceResourceManager

      public NamespaceResourceManager(ResourceType type, String namespace)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/resource/NamespaceResourceManager;<init>(Lnet/minecraft/resource/ResourceType;Ljava/lang/String;)V
      intermediary <init> Lnet/minecraft/class_3294;<init>(Lnet/minecraft/class_3264;Ljava/lang/String;)V
      official <init> Laug;<init>(Latd;Ljava/lang/String;)V
  • Method Details

    • addPack

      public void addPack(ResourcePack pack)
      Mappings:
      Namespace Name Mixin selector
      named addPack Lnet/minecraft/resource/NamespaceResourceManager;addPack(Lnet/minecraft/resource/ResourcePack;)V
      intermediary method_24233 Lnet/minecraft/class_3294;method_24233(Lnet/minecraft/class_3262;)V
      official a Laug;a(Latb;)V
    • addPack

      public void addPack(ResourcePack pack, Predicate<Identifier> filter)
      Mappings:
      Namespace Name Mixin selector
      named addPack Lnet/minecraft/resource/NamespaceResourceManager;addPack(Lnet/minecraft/resource/ResourcePack;Ljava/util/function/Predicate;)V
      intermediary method_41256 Lnet/minecraft/class_3294;method_41256(Lnet/minecraft/class_3262;Ljava/util/function/Predicate;)V
      official a Laug;a(Latb;Ljava/util/function/Predicate;)V
    • addPack

      public void addPack(String id, Predicate<Identifier> filter)
      Mappings:
      Namespace Name Mixin selector
      named addPack Lnet/minecraft/resource/NamespaceResourceManager;addPack(Ljava/lang/String;Ljava/util/function/Predicate;)V
      intermediary method_41261 Lnet/minecraft/class_3294;method_41261(Ljava/lang/String;Ljava/util/function/Predicate;)V
      official a Laug;a(Ljava/lang/String;Ljava/util/function/Predicate;)V
    • addPack

      private void addPack(String id, @Nullable @Nullable ResourcePack underlyingPack, @Nullable @Nullable Predicate<Identifier> filter)
      Mappings:
      Namespace Name Mixin selector
      named addPack Lnet/minecraft/resource/NamespaceResourceManager;addPack(Ljava/lang/String;Lnet/minecraft/resource/ResourcePack;Ljava/util/function/Predicate;)V
      intermediary method_41260 Lnet/minecraft/class_3294;method_41260(Ljava/lang/String;Lnet/minecraft/class_3262;Ljava/util/function/Predicate;)V
      official a Laug;a(Ljava/lang/String;Latb;Ljava/util/function/Predicate;)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
      named getAllNamespaces Lnet/minecraft/resource/ResourceManager;getAllNamespaces()Ljava/util/Set;
      intermediary method_14487 Lnet/minecraft/class_3300;method_14487()Ljava/util/Set;
      official a Laup;a()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
      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 Laus;getResource(Lalf;)Ljava/util/Optional;
    • createResource

      private static Resource createResource(ResourcePack pack, Identifier id, InputSupplier<InputStream> supplier, InputSupplier<ResourceMetadata> metadataSupplier)
      Mappings:
      Namespace Name Mixin selector
      named createResource Lnet/minecraft/resource/NamespaceResourceManager;createResource(Lnet/minecraft/resource/ResourcePack;Lnet/minecraft/util/Identifier;Lnet/minecraft/resource/InputSupplier;Lnet/minecraft/resource/InputSupplier;)Lnet/minecraft/resource/Resource;
      intermediary method_45290 Lnet/minecraft/class_3294;method_45290(Lnet/minecraft/class_3262;Lnet/minecraft/class_2960;Lnet/minecraft/class_7367;Lnet/minecraft/class_7367;)Lnet/minecraft/class_3298;
      official a Laug;a(Latb;Lalf;Lauh;Lauh;)Laun;
    • wrapForDebug

      private static InputSupplier<InputStream> wrapForDebug(Identifier id, ResourcePack pack, InputSupplier<InputStream> supplier)
      Mappings:
      Namespace Name Mixin selector
      named wrapForDebug Lnet/minecraft/resource/NamespaceResourceManager;wrapForDebug(Lnet/minecraft/util/Identifier;Lnet/minecraft/resource/ResourcePack;Lnet/minecraft/resource/InputSupplier;)Lnet/minecraft/resource/InputSupplier;
      intermediary method_45288 Lnet/minecraft/class_3294;method_45288(Lnet/minecraft/class_2960;Lnet/minecraft/class_3262;Lnet/minecraft/class_7367;)Lnet/minecraft/class_7367;
      official a Laug;a(Lalf;Latb;Lauh;)Lauh;
    • 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 Laup;a(Lalf;)Ljava/util/List;
    • isMcmeta

      private static boolean isMcmeta(Identifier id)
      Mappings:
      Namespace Name Mixin selector
      named isMcmeta Lnet/minecraft/resource/NamespaceResourceManager;isMcmeta(Lnet/minecraft/util/Identifier;)Z
      intermediary method_45296 Lnet/minecraft/class_3294;method_45296(Lnet/minecraft/class_2960;)Z
      official b Laug;b(Lalf;)Z
    • getMetadataFileName

      private static Identifier getMetadataFileName(Identifier id)
      Mappings:
      Namespace Name Mixin selector
      named getMetadataFileName Lnet/minecraft/resource/NamespaceResourceManager;getMetadataFileName(Lnet/minecraft/util/Identifier;)Lnet/minecraft/util/Identifier;
      intermediary method_45298 Lnet/minecraft/class_3294;method_45298(Lnet/minecraft/class_2960;)Lnet/minecraft/class_2960;
      official c Laug;c(Lalf;)Lalf;
    • getMetadataPath

      static Identifier getMetadataPath(Identifier id)
      Mappings:
      Namespace Name Mixin selector
      named getMetadataPath Lnet/minecraft/resource/NamespaceResourceManager;getMetadataPath(Lnet/minecraft/util/Identifier;)Lnet/minecraft/util/Identifier;
      intermediary method_14473 Lnet/minecraft/class_3294;method_14473(Lnet/minecraft/class_2960;)Lnet/minecraft/class_2960;
      official d Laug;d(Lalf;)Lalf;
    • 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 Laup;b(Ljava/lang/String;Ljava/util/function/Predicate;)Ljava/util/Map;
    • createMetadataSupplier

      private InputSupplier<ResourceMetadata> createMetadataSupplier(Identifier id, int index)
      Mappings:
      Namespace Name Mixin selector
      named createMetadataSupplier Lnet/minecraft/resource/NamespaceResourceManager;createMetadataSupplier(Lnet/minecraft/util/Identifier;I)Lnet/minecraft/resource/InputSupplier;
      intermediary method_43035 Lnet/minecraft/class_3294;method_43035(Lnet/minecraft/class_2960;I)Lnet/minecraft/class_7367;
      official a Laug;a(Lalf;I)Lauh;
    • getMetadataSupplier

      private static InputSupplier<ResourceMetadata> getMetadataSupplier(InputSupplier<InputStream> supplier)
      Mappings:
      Namespace Name Mixin selector
      named getMetadataSupplier Lnet/minecraft/resource/NamespaceResourceManager;getMetadataSupplier(Lnet/minecraft/resource/InputSupplier;)Lnet/minecraft/resource/InputSupplier;
      intermediary method_45291 Lnet/minecraft/class_3294;method_45291(Lnet/minecraft/class_7367;)Lnet/minecraft/class_7367;
      official a Laug;a(Lauh;)Lauh;
    • loadMetadata

      private static ResourceMetadata loadMetadata(InputSupplier<InputStream> supplier) throws IOException
      Throws:
      IOException
      Mappings:
      Namespace Name Mixin selector
      named loadMetadata Lnet/minecraft/resource/NamespaceResourceManager;loadMetadata(Lnet/minecraft/resource/InputSupplier;)Lnet/minecraft/resource/metadata/ResourceMetadata;
      intermediary method_45297 Lnet/minecraft/class_3294;method_45297(Lnet/minecraft/class_7367;)Lnet/minecraft/class_7368;
      official b Laug;b(Lauh;)Laur;
    • applyFilter

      private static void applyFilter(NamespaceResourceManager.FilterablePack pack, Map<Identifier,NamespaceResourceManager.EntryList> idToEntryList)
      Mappings:
      Namespace Name Mixin selector
      named applyFilter Lnet/minecraft/resource/NamespaceResourceManager;applyFilter(Lnet/minecraft/resource/NamespaceResourceManager$FilterablePack;Ljava/util/Map;)V
      intermediary method_41259 Lnet/minecraft/class_3294;method_41259(Lnet/minecraft/class_3294$class_7082;Ljava/util/Map;)V
      official a Laug;a(Laug$d;Ljava/util/Map;)V
    • findAndAdd

      private void findAndAdd(NamespaceResourceManager.FilterablePack pack, String startingPath, Predicate<Identifier> allowedPathPredicate, Map<Identifier,NamespaceResourceManager.EntryList> idToEntryList)
      Mappings:
      Namespace Name Mixin selector
      named findAndAdd Lnet/minecraft/resource/NamespaceResourceManager;findAndAdd(Lnet/minecraft/resource/NamespaceResourceManager$FilterablePack;Ljava/lang/String;Ljava/util/function/Predicate;Ljava/util/Map;)V
      intermediary method_41258 Lnet/minecraft/class_3294;method_41258(Lnet/minecraft/class_3294$class_7082;Ljava/lang/String;Ljava/util/function/Predicate;Ljava/util/Map;)V
      official a Laug;a(Laug$d;Ljava/lang/String;Ljava/util/function/Predicate;Ljava/util/Map;)V
    • 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 Laup;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 Laup;b()Ljava/util/stream/Stream;