Class NeoForgeExtension

java.lang.Object
net.neoforged.moddevgradle.dsl.NeoForgeExtension

public abstract class NeoForgeExtension extends Object
This is the top-level neoForge extension, used to configure the moddev plugin.
  • Field Details

  • Constructor Details

  • Method Details

    • addModdingDependenciesTo

      public void addModdingDependenciesTo(org.gradle.api.tasks.SourceSet sourceSet)
      Adds the necessary dependencies to develop a Minecraft mod to the given source set. The plugin automatically adds these dependencies to the main source set.
    • getVersion

      public abstract org.gradle.api.provider.Property<String> getVersion()
      NeoForge version number. You have to set either this or getNeoFormVersion().
    • getNeoFormVersion

      public abstract org.gradle.api.provider.Property<String> getNeoFormVersion()
      You can set this property to a version of NeoForm to either override the version used in the version of NeoForge you set, or to compile against Vanilla artifacts that have no NeoForge code added.
    • accessTransformers

      public void accessTransformers(org.gradle.api.Action<DataFileCollection> action)
      The list of additional access transformers that should be applied to the Minecraft source code.

      If you do not set this property, the plugin will look for an access transformer file at META-INF/accesstransformer.cfg relative to your main source sets resource directories.

      See Also:
    • getAccessTransformers

      public DataFileCollection getAccessTransformers()
    • setAccessTransformers

      public void setAccessTransformers(Object... paths)
      Replaces current access transformers.
    • interfaceInjectionData

      public void interfaceInjectionData(org.gradle.api.Action<DataFileCollection> action)
      The data-files describing additional interface implementation declarations to be added to Minecraft classes.

      This is an advanced property: Injecting interfaces in your development environment using this property will not implement the interfaces in your published mod. You have to use Mixin or ASM to do that.

      See Also:
    • getInterfaceInjectionData

      public DataFileCollection getInterfaceInjectionData()
    • setInterfaceInjectionData

      public void setInterfaceInjectionData(Object... paths)
      Replaces current interface injection data files.
    • getValidateAccessTransformers

      public abstract org.gradle.api.provider.Property<Boolean> getValidateAccessTransformers()
      Enable access transformer validation, raising fatal errors if an AT targets a member that doesn't exist.

      Default false

    • getMods

      public org.gradle.api.NamedDomainObjectContainer<ModModel> getMods()
    • mods

      public void mods(org.gradle.api.Action<org.gradle.api.NamedDomainObjectContainer<ModModel>> action)
    • getRuns

      public org.gradle.api.NamedDomainObjectContainer<RunModel> getRuns()
    • runs

      public void runs(org.gradle.api.Action<org.gradle.api.NamedDomainObjectContainer<RunModel>> action)
    • getParchment

      public Parchment getParchment()
    • parchment

      public void parchment(org.gradle.api.Action<Parchment> action)
    • getNeoFormRuntime

      public NeoFormRuntime getNeoFormRuntime()
    • neoFormRuntime

      public void neoFormRuntime(org.gradle.api.Action<NeoFormRuntime> action)
    • getUnitTest

      public UnitTest getUnitTest()
    • unitTest

      public void unitTest(org.gradle.api.Action<UnitTest> action)
    • getIdeSyncTasks

      public abstract org.gradle.api.provider.ListProperty<org.gradle.api.tasks.TaskProvider<?>> getIdeSyncTasks()
      The tasks to be run when the IDE reloads the Gradle project.
    • ideSyncTask

      public void ideSyncTask(org.gradle.api.tasks.TaskProvider<?> task)
      Configures the given task to be run when the IDE reloads the Gradle project.
    • ideSyncTask

      public void ideSyncTask(org.gradle.api.Task task)
      Configures the given task to be run when the IDE reloads the Gradle project.