Interface MinecraftExtension

All Superinterfaces:
MinecraftMappingsContainer
All Known Subinterfaces:
MinecraftExtensionForProject<T>, MinecraftExtensionForProjectWithAccessTransformers

public sealed interface MinecraftExtension extends MinecraftMappingsContainer permits MinecraftExtensionForProject<T> (not exhaustive)

The main extension for ForgeGradle, where the Minecraft dependency resolution takes place.

Restrictions

  • When declaring Minecraft dependencies, only module dependencies are supported.
    • The resulting Minecraft dependency is created by the Minecraft Mavenizer. It is not merely a dependency transformation, which means that it cannot use file and project dependencies to generate the Minecraft artifacts.
    • Attempting to provide a non-module dependency to MinecraftExtensionForProject.dep(Object), will cause the build to fail.
  • Field Details

    • NAME

      static final String NAME
      The name for this extension in Gradle.
      See Also:
    • attributes

      static final MinecraftExtension.Attributes attributes
      The attributes object for easy reference.
      
       dependencies {
           implementation 'com.example:example:1.0' {
               attributes.attribute(minecraft.attributes.os, objects.named(OperatingSystemFamily, OperatingSystemFamily.WINDOWS))
           }
       }
       
      See Also:
  • Method Details

    • getMaven

      A closure for the generated Minecraft maven to be passed into RepositoryHandler.maven(Closure).

      Declaring this in your buildscript is required for the Minecraft dependencies to resolve properly.

      
       repositories {
           maven minecraft.maven
       }
       
      Returns:
      The closure
    • maven

      default MavenArtifactRepository maven(RepositoryHandler repositories)
      Adds the generated Minecraft maven to the given repository handler.
      
       minecraft.maven(repositories)
       
      Parameters:
      repositories - The repository handler to add the maven to
      Returns:
      The Minecraft maven
      See Also: