Class PathPackResources

java.lang.Object
net.minecraft.server.packs.AbstractPackResources
net.minecraftforge.resource.PathPackResources
All Implemented Interfaces:
AutoCloseable, PackResources, IForgePackResources

public class PathPackResources extends AbstractPackResources
Defines a resource pack from an arbitrary Path.

This is primarily intended to support including optional resource packs inside a mod, such as to have alternative textures to use along with Programmer Art, or optional alternative recipes for compatibility ot to replace vanilla recipes.

  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • source

      private final Path source
  • Constructor Details

    • PathPackResources

      public PathPackResources(String packId, boolean isBuiltin, Path source)
      Constructs a java.nio.Path-based resource pack.
      Parameters:
      packId - the identifier of the pack. This identifier should be unique within the pack finder, preferably the name of the file or folder containing the resources.
      isBuiltin - whether this pack resources should be considered builtin
      source - the root path of the pack. This needs to point to the folder that contains "assets" and/or "data", not the asset folder itself!
  • Method Details

    • getSource

      public Path getSource()
      Returns the source path containing the resource pack. This is used for error display.
      Returns:
      the root path of the resources.
    • resolve

      protected Path resolve(String... paths)
      Implement to return a file or folder path for the given set of path components.
      Parameters:
      paths - One or more path strings to resolve. Can include slash-separated paths.
      Returns:
      the resulting path, which may not exist.
    • getRootResource

      @Nullable public @Nullable IoSupplier<InputStream> getRootResource(String... paths)
    • listResources

      public void listResources(PackType type, String namespace, String path, PackResources.ResourceOutput resourceOutput)
    • getNamespaces

      public Set<String> getNamespaces(PackType type)
    • getNamespacesFromDisk

      @NotNull private @NotNull Set<String> getNamespacesFromDisk(PackType type)
    • getResource

      public IoSupplier<InputStream> getResource(PackType type, ResourceLocation location)
    • getPathFromLocation

      private static String[] getPathFromLocation(PackType type, ResourceLocation location)
    • close

      public void close()
    • toString

      public String toString()
      Overrides:
      toString in class AbstractPackResources