Class HloaderMixinService

java.lang.Object
org.spongepowered.asm.service.MixinServiceAbstract
com.hloader.mixin.HloaderMixinService
All Implemented Interfaces:
org.spongepowered.asm.service.IMixinService

public final class HloaderMixinService extends org.spongepowered.asm.service.MixinServiceAbstract implements org.spongepowered.asm.service.IMixinService
hloader's Mixin host service. Unlike LaunchWrapper/ModLauncher this environment doesn't own class loading (a JVM java.lang.instrument agent does the actual bytecode interception instead — see com.hloader.agent.HloaderAgent), so this service just wires Mixin's internals to the plain system classloader. Discovered via ServiceLoader.
  • Field Summary

    Fields inherited from class org.spongepowered.asm.service.MixinServiceAbstract

    LAUNCH_PACKAGE, lock, MIXIN_PACKAGE, SERVICE_PACKAGE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    Called from HloaderAgent once every mod jar is scanned and its mixin configs are registered - see HloaderPlatformAgent.advanceToDefaultPhase().
    protected org.spongepowered.asm.logging.ILogger
     
    org.spongepowered.asm.service.IMixinAuditTrail
     
    org.spongepowered.asm.service.IClassBytecodeProvider
     
    org.spongepowered.asm.service.IClassProvider
     
    org.spongepowered.asm.service.IClassTracker
     
    org.spongepowered.asm.mixin.MixinEnvironment.Phase
     
     
     
    org.spongepowered.asm.launch.platform.container.IContainerHandle
     
     
    org.spongepowered.asm.mixin.transformer.IMixinTransformerFactory
     
    org.spongepowered.asm.service.ITransformerProvider
     
    boolean
     
    void
    offer(org.spongepowered.asm.service.IMixinInternal internal)
     
    static void
    Called from HloaderAgent once the runtime obf<->named class map is loaded.

    Methods inherited from class org.spongepowered.asm.service.MixinServiceAbstract

    beginPhase, checkEnv, getContainersFromAgents, getInternal, getLogger, getMaxCompatibilityLevel, getMinCompatibilityLevel, getMixinContainers, getReEntranceLock, getSideName, init, prepare, unwire, wire

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.spongepowered.asm.service.IMixinService

    beginPhase, checkEnv, getLogger, getMaxCompatibilityLevel, getMinCompatibilityLevel, getMixinContainers, getReEntranceLock, getSideName, init, prepare
  • Constructor Details

    • HloaderMixinService

      public HloaderMixinService()
  • Method Details

    • getName

      public String getName()
      Specified by:
      getName in interface org.spongepowered.asm.service.IMixinService
    • isValid

      public boolean isValid()
      Specified by:
      isValid in interface org.spongepowered.asm.service.IMixinService
    • getInitialPhase

      public org.spongepowered.asm.mixin.MixinEnvironment.Phase getInitialPhase()
      Specified by:
      getInitialPhase in interface org.spongepowered.asm.service.IMixinService
      Overrides:
      getInitialPhase in class org.spongepowered.asm.service.MixinServiceAbstract
    • offer

      public void offer(org.spongepowered.asm.service.IMixinInternal internal)
      Specified by:
      offer in interface org.spongepowered.asm.service.IMixinService
      Overrides:
      offer in class org.spongepowered.asm.service.MixinServiceAbstract
    • getTransformerFactory

      public org.spongepowered.asm.mixin.transformer.IMixinTransformerFactory getTransformerFactory()
    • setRuntimeClassMap

      public static void setRuntimeClassMap(RuntimeClassMap classMap)
      Called from HloaderAgent once the runtime obf<->named class map is loaded.
    • advanceToDefaultPhase

      public static void advanceToDefaultPhase()
      Called from HloaderAgent once every mod jar is scanned and its mixin configs are registered - see HloaderPlatformAgent.advanceToDefaultPhase().
    • getClassProvider

      public org.spongepowered.asm.service.IClassProvider getClassProvider()
      Specified by:
      getClassProvider in interface org.spongepowered.asm.service.IMixinService
    • getBytecodeProvider

      public org.spongepowered.asm.service.IClassBytecodeProvider getBytecodeProvider()
      Specified by:
      getBytecodeProvider in interface org.spongepowered.asm.service.IMixinService
    • getTransformerProvider

      public org.spongepowered.asm.service.ITransformerProvider getTransformerProvider()
      Specified by:
      getTransformerProvider in interface org.spongepowered.asm.service.IMixinService
    • getClassTracker

      public org.spongepowered.asm.service.IClassTracker getClassTracker()
      Specified by:
      getClassTracker in interface org.spongepowered.asm.service.IMixinService
    • getAuditTrail

      public org.spongepowered.asm.service.IMixinAuditTrail getAuditTrail()
      Specified by:
      getAuditTrail in interface org.spongepowered.asm.service.IMixinService
    • getPlatformAgents

      public Collection<String> getPlatformAgents()
      Specified by:
      getPlatformAgents in interface org.spongepowered.asm.service.IMixinService
    • getPrimaryContainer

      public org.spongepowered.asm.launch.platform.container.IContainerHandle getPrimaryContainer()
      Specified by:
      getPrimaryContainer in interface org.spongepowered.asm.service.IMixinService
    • getResourceAsStream

      public InputStream getResourceAsStream(String name)
      Specified by:
      getResourceAsStream in interface org.spongepowered.asm.service.IMixinService
    • createLogger

      protected org.spongepowered.asm.logging.ILogger createLogger(String name)
      Overrides:
      createLogger in class org.spongepowered.asm.service.MixinServiceAbstract