Interface ModContainer
-
Method Summary
Modifier and TypeMethodDescriptionGets an NIO reference to a file inside the JAR/folder.Get the active mods contained within this mod (nested jar children).Get the mod containing this mod (nested jar parent).Returns the metadata of this mod.Gets where the mod was loaded from originally, the mod jar/folder itself.Deprecated.default Path
getRoot()
Deprecated.usegetRootPaths()
insteadDeprecated.usegetRootPaths()
insteadReturns the root directories of the mod (inside JAR/folder), exposing its contents.
-
Method Details
-
getMetadata
ModMetadata getMetadata()Returns the metadata of this mod. -
getRootPaths
Returns the root directories of the mod (inside JAR/folder), exposing its contents.The paths may point to regular folders or into mod JARs. Multiple root paths may occur in development environments with
-Dfabric.classPathGroups
as used in multi-project mod setups.A path returned by this method may be incompatible with
Path.toFile()
as its FileSystem doesn't necessarily represent the OS file system, but potentially a virtual view of jar contents or another abstraction.- Returns:
- the root directories of the mod, may be empty for builtin or other synthetic mods
-
findPath
Gets an NIO reference to a file inside the JAR/folder.The path, if present, is guaranteed to exist!
A path returned by this method may be incompatible with
Path.toFile()
as its FileSystem doesn't necessarily represent the OS file system, but potentially a virtual view of jar contents or another abstraction.- Parameters:
file
- The location from a root path, using/
as a separator.- Returns:
- optional containing the path to a given file or empty if it can't be found
-
getOrigin
ModOrigin getOrigin()Gets where the mod was loaded from originally, the mod jar/folder itself.This location is not necessarily identical to the code source used at runtime, a mod may get copied or otherwise transformed before being put on the class path. It thus mostly represents the installation and initial loading, not what is being directly accessed at runtime.
The mod origin is provided for working with the installation like telling the user where a mod has been installed at. Accessing the files inside a mod jar/folder should use
findPath(java.lang.String)
andgetRootPaths()
instead. Those also abstract jar accesses through the virtualZipFileSystem
away.- Returns:
- mod origin
-
getContainingMod
Optional<ModContainer> getContainingMod()Get the mod containing this mod (nested jar parent).- Returns:
- mod containing this mod or empty if not nested
-
getContainedMods
Collection<ModContainer> getContainedMods()Get the active mods contained within this mod (nested jar children).- Returns:
- active contained mods within this mod's jar
-
getRoot
Deprecated.usegetRootPaths()
instead -
getRootPath
Deprecated.usegetRootPaths()
instead -
getPath
Deprecated.usefindPath(java.lang.String)
instead
-
findPath(java.lang.String)
instead