java.lang.Object
mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
mods.thecomputerizer.theimpossiblelibrary.neoforge.core.asm.ModWriterNeoForge
All Implemented Interfaces:
mods.thecomputerizer.theimpossiblelibrary.api.core.CoreStateAccessor

public class ModWriterNeoForge extends mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
  • Nested Class Summary

    Nested classes/interfaces inherited from class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter

    mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData, mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassDataBuilder
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final org.objectweb.asm.Type
     
    protected static final org.objectweb.asm.Type
     
    protected static final org.objectweb.asm.Type
     
    protected static final org.objectweb.asm.Type
     
    protected static final String
     
    protected static final org.objectweb.asm.Type
     
    protected static final org.objectweb.asm.Type
     

    Fields inherited from class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter

    core, entryPoint, entryPointDesc, entryPointInternal, entryPointMethods, entryPointMethodTypes, info, modType, modTypeDesc, modTypeInternal

    Fields inherited from interface mods.thecomputerizer.theimpossiblelibrary.api.core.CoreStateAccessor

    BOOLEAN_VALUES, FABRIC, FORGE, FORGE_OR_NEOFORGE, GAME_VERSION, JAVA_17, JAVA_21, JAVA_8, JAVA_MODULES, JAVA_VERSION, JAVA_VERSION_ASM, LEGACY, MOD_LOADER, NAMED_ENV, NEOFORGE, SRG_ENV, V12, V16, V16_OR_EARLIER, V16_OR_LATER, V18, V18_OR_EARLIER, V18_OR_LATER, V19, V19_2_OR_EARLIER, V19_4_OR_LATER, V19_OR_EARLIER, V19_OR_LATER, V20, V20_4_OR_EARLIER, V20_6_OR_LATER, V20_OR_EARLIER, V20_OR_LATER, V21, V21_OR_LATER
  • Constructor Summary

    Constructors
    Constructor
    Description
    ModWriterNeoForge(mods.thecomputerizer.theimpossiblelibrary.api.core.CoreAPI core, mods.thecomputerizer.theimpossiblelibrary.api.core.loader.MultiVersionModInfo info)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addClassAnnotations(org.objectweb.asm.ClassVisitor visitor)
     
    protected void
    addEntryHooks(org.objectweb.asm.MethodVisitor visitor, String method)
     
    protected void
    addEventSubscriber(mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData data, org.objectweb.asm.ClassVisitor visitor)
     
    protected void
    addEventSubscriber(org.objectweb.asm.ClassVisitor visitor, boolean modBus, boolean client, boolean server)
     
    protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData
    buildInnerClassData(mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassDataBuilder builder)
     
    protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData
    buildInnerClassData(org.objectweb.asm.ClassVisitor outerClass, String className, int flags, String... entryPoints)
     
    protected List<String[]>
     
    protected org.objectweb.asm.MethodVisitor
    getConstructor(org.objectweb.asm.ClassVisitor visitor)
     
    protected org.objectweb.asm.Type
     
    protected org.objectweb.asm.Type
     
    protected org.objectweb.asm.Type
     
    protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassDataBuilder
    innerClassDataBuilder(org.objectweb.asm.ClassVisitor outer, String name, String... entryPoints)
     
    protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData[]
    innerClasses(org.objectweb.asm.ClassVisitor outerClass)
     
    protected final void
    writeConstructor(org.objectweb.asm.ClassVisitor cv)
    Sets the extraData field of CommonEntryPoint to the IEventBus passed into the constructor of the written class so that it is internally accessible

    Methods inherited from class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter

    addEntryHooks, addFields, addInnerClass, addInnerClass, basicContructorHandle, buildModClass, classInit, constructor, entryPointGetter, entryPointGetter, finishWritingClass, generatedModType, getInfo, innerClassDataBuilder, isClient, isServer, mappedEntryPointMethods, modInterfaces, writeAnnotationArray, writeClassAnnotation, writeClassInit, writeConstructor, writeInnerClass, writeInnerClass, writeInnerConstructor, writeMethod, writeMethodAnnotation, writeMod

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • EVENT_SUBSCRIBER_NAME

      protected static final String EVENT_SUBSCRIBER_NAME
    • DIST

      protected static final org.objectweb.asm.Type DIST
    • EVENT_BUS

      protected static final org.objectweb.asm.Type EVENT_BUS
    • EVENT_SUBSCRIBER

      protected static final org.objectweb.asm.Type EVENT_SUBSCRIBER
    • EVENT_SUBSCRIBER_BUS

      protected static final org.objectweb.asm.Type EVENT_SUBSCRIBER_BUS
    • MOD_ANNOTATION

      protected static final org.objectweb.asm.Type MOD_ANNOTATION
    • SUBSCRIBE_EVENT

      protected static final org.objectweb.asm.Type SUBSCRIBE_EVENT
  • Constructor Details

    • ModWriterNeoForge

      public ModWriterNeoForge(mods.thecomputerizer.theimpossiblelibrary.api.core.CoreAPI core, mods.thecomputerizer.theimpossiblelibrary.api.core.loader.MultiVersionModInfo info)
  • Method Details

    • addClassAnnotations

      protected void addClassAnnotations(org.objectweb.asm.ClassVisitor visitor)
      Overrides:
      addClassAnnotations in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
    • addEntryHooks

      protected void addEntryHooks(org.objectweb.asm.MethodVisitor visitor, String method)
    • addEventSubscriber

      protected void addEventSubscriber(mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData data, org.objectweb.asm.ClassVisitor visitor)
    • addEventSubscriber

      protected void addEventSubscriber(org.objectweb.asm.ClassVisitor visitor, boolean modBus, boolean client, boolean server)
    • buildInnerClassData

      protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData buildInnerClassData(org.objectweb.asm.ClassVisitor outerClass, String className, int flags, String... entryPoints)
    • buildInnerClassData

      protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData buildInnerClassData(mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassDataBuilder builder)
    • entryPointMappings

      protected List<String[]> entryPointMappings()
      Specified by:
      entryPointMappings in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
    • getConstructor

      protected org.objectweb.asm.MethodVisitor getConstructor(org.objectweb.asm.ClassVisitor visitor)
      Overrides:
      getConstructor in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
    • getEventMethod

      protected org.objectweb.asm.Type getEventMethod(String className)
      Specified by:
      getEventMethod in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
    • getEventSubscriberBusType

      protected org.objectweb.asm.Type getEventSubscriberBusType()
    • getEventSubscriberType

      protected org.objectweb.asm.Type getEventSubscriberType()
    • innerClassDataBuilder

      protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassDataBuilder innerClassDataBuilder(org.objectweb.asm.ClassVisitor outer, String name, String... entryPoints)
    • innerClasses

      protected mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter.InnerClassData[] innerClasses(org.objectweb.asm.ClassVisitor outerClass)
      Overrides:
      innerClasses in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter
    • writeConstructor

      protected final void writeConstructor(org.objectweb.asm.ClassVisitor cv)
      Sets the extraData field of CommonEntryPoint to the IEventBus passed into the constructor of the written class so that it is internally accessible
      Overrides:
      writeConstructor in class mods.thecomputerizer.theimpossiblelibrary.api.core.asm.ModWriter