public abstract class MultiVersionLoaderAPI
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected java.util.Collection<MultiVersionModCandidate> |
candidates |
protected CoreAPI |
parent |
protected java.util.Set<java.nio.file.Path> |
potentialModPaths |
| Modifier | Constructor and Description |
|---|---|
protected |
MultiVersionLoaderAPI(CoreAPI parent) |
| Modifier and Type | Method and Description |
|---|---|
void |
addPotentialModPath(java.nio.file.Path path) |
protected abstract java.io.File |
findCoreModRoot() |
abstract java.io.File |
findModRoot() |
protected abstract java.util.List<java.io.File> |
gatherCandidateModFiles(java.io.File root) |
protected <A extends java.lang.annotation.Annotation> |
getAnnotationMatching(java.lang.Class<?> clazz,
java.lang.Class<A> annotation) |
protected abstract @Nullable java.util.jar.Attributes |
getFileAttributes(java.io.File file) |
java.lang.String |
getName() |
void |
loadCoreMods(java.util.Collection<MultiVersionCoreModInfo> infos,
java.util.Collection<java.lang.Class<? extends CoreEntryPoint>> classes) |
void |
loadCoreMods(java.util.Map<MultiVersionModCandidate,java.util.Collection<MultiVersionCoreModInfo>> infoMap,
java.lang.ClassLoader loader) |
void |
loadCoreMods(MultiVersionModCandidate candidate,
java.util.Collection<MultiVersionCoreModInfo> infos,
java.lang.ClassLoader loader) |
protected abstract MultiVersionModInfo |
loadModInfo(java.lang.ClassLoader classLoader,
MultiVersionModCandidate candidate,
MultiVersionModInfo info) |
void |
loadMods(java.util.Map<MultiVersionModCandidate,java.util.Collection<MultiVersionModInfo>> infoMap,
java.lang.ClassLoader loader) |
void |
loadMods(MultiVersionModCandidate candidate,
java.util.Collection<MultiVersionModInfo> infos,
java.lang.ClassLoader loader) |
void |
loadMods(MultiVersionModCandidate candidate,
java.util.Collection<MultiVersionModInfo> infos,
java.lang.ClassLoader loader,
java.util.Collection<java.lang.Class<? extends CommonEntryPoint>> classes) |
protected final CoreAPI parent
protected final java.util.Set<java.nio.file.Path> potentialModPaths
protected java.util.Collection<MultiVersionModCandidate> candidates
protected MultiVersionLoaderAPI(CoreAPI parent)
public void addPotentialModPath(java.nio.file.Path path)
protected abstract java.io.File findCoreModRoot()
public abstract java.io.File findModRoot()
protected abstract java.util.List<java.io.File> gatherCandidateModFiles(java.io.File root)
protected <A extends java.lang.annotation.Annotation> A getAnnotationMatching(java.lang.Class<?> clazz,
java.lang.Class<A> annotation)
@Nullable protected abstract @Nullable java.util.jar.Attributes getFileAttributes(java.io.File file)
public java.lang.String getName()
public void loadCoreMods(MultiVersionModCandidate candidate, java.util.Collection<MultiVersionCoreModInfo> infos, java.lang.ClassLoader loader)
public void loadCoreMods(java.util.Collection<MultiVersionCoreModInfo> infos, java.util.Collection<java.lang.Class<? extends CoreEntryPoint>> classes)
public void loadCoreMods(java.util.Map<MultiVersionModCandidate,java.util.Collection<MultiVersionCoreModInfo>> infoMap, java.lang.ClassLoader loader)
public void loadMods(MultiVersionModCandidate candidate, java.util.Collection<MultiVersionModInfo> infos, java.lang.ClassLoader loader)
public void loadMods(MultiVersionModCandidate candidate, java.util.Collection<MultiVersionModInfo> infos, java.lang.ClassLoader loader, java.util.Collection<java.lang.Class<? extends CommonEntryPoint>> classes)
public void loadMods(java.util.Map<MultiVersionModCandidate,java.util.Collection<MultiVersionModInfo>> infoMap, java.lang.ClassLoader loader)
protected abstract MultiVersionModInfo loadModInfo(java.lang.ClassLoader classLoader, MultiVersionModCandidate candidate, MultiVersionModInfo info)