java.lang.Object
mods.thecomputerizer.theimpossiblelibrary.api.core.modules.AbstractModuleSystemAccessor
mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ClassLoaderAccess
mods.thecomputerizer.theimpossiblelibrary.neoforge.core.modules.ModuleClassLoaderAccess
All Implemented Interfaces:
mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleSystemAccessor

public class ModuleClassLoaderAccess extends mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ClassLoaderAccess implements mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder
[1.18.2+] cpw.mods.cl.ModuleClassLoader [1.20.4+] extends net.minecraftforge.securemodules.SecureModuleClassLoader
  • Method Details

    • addPackage

      public void addPackage(String pkg, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • addPackages

      public void addPackages(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • addPackages

      public void addPackages(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleDescriptorAccess moduleDescriptor, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • addPackages

      public void addPackages(Collection<String> pkgs, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • addPackages

      public void addPackages(Collection<String> pkgs, ResolvedModule resolvedModule)
    • addPackagesFrom

      public void addPackagesFrom(Collection<String> pkgs, ModuleClassLoaderAccess source, String moduleName)
    • addParentLoaders

      public void addParentLoaders(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule, ModuleClassLoaderAccess loader)
    • addParentLoaders

      public void addParentLoaders(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleDescriptorAccess moduleDescriptor, ModuleClassLoaderAccess loader)
    • addParentLoaders

      public void addParentLoaders(Collection<String> pkgs, ModuleClassLoaderAccess loader)
    • addParentLoader

      public void addParentLoader(String pkg, ModuleClassLoaderAccess loader)
    • addRoot

      public void addRoot(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • addRoot

      public void addRoot(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleReferenceAccess moduleReference)
    • addRoot

      public void addRoot(String name, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleReferenceAccess moduleReference)
    • addRoot

      public void addRoot(String name, ModuleReference moduleReference)
    • cloneModule

      public void cloneModule(String moduleName, String newModuleName)
      Specified by:
      cloneModule in interface mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder
    • combineModules

      public void combineModules(URI combinedLocation, String combinedName, String... others)
      Assumes the combined module already has a defined root
    • configuration

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ConfigurationAccess configuration()
    • getAllReferents

      public Collection<mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder> getAllReferents()
      Specified by:
      getAllReferents in interface mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder
    • getConfigModuleDirect

      public <T> T getConfigModuleDirect(String name)
    • getModuleDescriptor

      @Nullable public @Nullable mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleDescriptorAccess getModuleDescriptor(String name)
    • getModuleDescriptorDirect

      @Nullable public @Nullable ModuleDescriptor getModuleDescriptorDirect(String name)
    • getModuleLayer

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleLayerAccess getModuleLayer()
    • getModulePackages

      public Set<String> getModulePackages(String name)
    • getResolvedModule

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess getResolvedModule(String pkg)
    • getResolvedModuleName

      public String getResolvedModuleName(Object resolvedModule)
    • getRoot

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleReferenceAccess getRoot(String name)
    • getRootDirect

      public ModuleReference getRootDirect(String name)
    • handler

      public ModuleLayerHandlerAccess handler()
    • layerName

      public String layerName()
    • lookupAndRemovePackagesFor

      public void lookupAndRemovePackagesFor(String moduleName)
      Get a ResolvedModule from the packageLookup map that matches the input moduleName Remove all packages associated with the module from the packageLookup
    • lookupModules

      public Set<ResolvedModule> lookupModules(Collection<String> packages)
    • lookupPackagesFor

      public Set<String> lookupPackagesFor(String... moduleNames)
    • lookupResolvedModule

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess lookupResolvedModule(String moduleName)
      Get a ResolvedModule from the packageLookup map that matches the input moduleName
    • moveModuleTo

      public void moveModuleTo(ModuleClassLoaderAccess targetLoader, String moduleName)
      Assumes layer has been set for both this and the targetLoader
    • moveServicesTo

      public void moveServicesTo(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleLayerAccess target, mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleAccess module, String... serviceMovementBlacklist)
    • newResolvedModule

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess newResolvedModule(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleReferenceAccess moduleReference)
    • newResolvedModule

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess newResolvedModule(Object moduleReference)
    • newResolvedModule

      public mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess newResolvedModule(Object configuration, Object moduleReference)
      Overrides:
      newResolvedModule in class mods.thecomputerizer.theimpossiblelibrary.api.core.modules.AbstractModuleSystemAccessor
    • packageLookup

      public Map<String,ResolvedModule> packageLookup()
    • parentLoaders

      public Map<String,ClassLoader> parentLoaders()
    • removeModule

      public void removeModule(String moduleName)
      Specified by:
      removeModule in interface mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ModuleHolder
    • removePackages

      public void removePackages(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • removePackages

      public void removePackages(Collection<String> pkgs)
    • removePackage

      public void removePackage(String pkg)
    • removePackageLookup

      public void removePackageLookup(String pkg)
    • removePackagesForModule

      public void removePackagesForModule(mods.thecomputerizer.theimpossiblelibrary.api.core.modules.ResolvedModuleAccess resolvedModule)
    • removePackagesForModule

      public void removePackagesForModule(ResolvedModule resolvedModule)
    • removeParentLoaders

      public void removeParentLoaders(Collection<String> pkgs)
    • removeParentLoader

      public void removeParentLoader(String pkg)
    • removeRoot

      public void removeRoot(String root)
    • removeRoots

      public void removeRoots(String... roots)
    • renameModule

      public void renameModule(String name, String newName)
    • resolvedRoots

      public Map<String,ModuleReference> resolvedRoots()
    • toString

      public String toString()
      Overrides:
      toString in class Object