Skip to content

Getting Started [JEI for Minecraft 1.21 for NeoForge, Forge, or Fabric]

James Mitchell edited this page Sep 10, 2024 · 2 revisions

Set up your Gradle build script

You can integrate and automatically download JEI for your mod project using Gradle.
Just add the following to your build script (build.gradle):

Repositories

repositories {
  maven {
    // location of the maven that hosts JEI files since January 2023
    name = "Jared's maven"
    url = "https://maven.blamejared.com/"
  }
  maven {
    // location of a maven mirror for JEI files, as a fallback
    name = "ModMaven"
    url = "https://modmaven.dev"
  }
}

Dependencies for NeoGradle (for NeoForge)

dependencies {
  /* other minecraft dependencies are here */

  // compile against the JEI API but do not include it at runtime
  compileOnly("mezz.jei:jei-${mc_version}-neoforge-api:${jei_version}")
  // at runtime, use the full JEI jar for NeoForge
  runtimeOnly("mezz.jei:jei-${mc_version}-neoforge:${jei_version}")
}

Dependencies for ForgeGradle (for Forge)

dependencies {
  /* other minecraft dependencies are here */

  // compile against the JEI API but do not include it at runtime
  compileOnly("mezz.jei:jei-${mc_version}-forge-api:${jei_version}")
  // at runtime, use the full JEI jar for Forge
  runtimeOnly("mezz.jei:jei-${mc_version}-forge:${jei_version}")
}

Dependencies for Loom (for Fabric)

dependencies {
  /* other minecraft dependencies are here */

  // compile against the JEI API but do not include it at runtime
  modCompileOnlyApi("mezz.jei:jei-${mc_version}-fabric-api:${jei_version}")
  // at runtime, use the full JEI jar for Fabric
  modRuntimeOnly("mezz.jei:jei-${mc_version}-fabric:${jei_version}")
}

Choose a Version

${mc_version} gets replaced by the current Minecraft version. (i.e. 1.20.4)
${jei_version} gets replaced by the version of JEI you want to use (i.e 17.0.0.30)

For a list of available JEI versions, see the badges below or click any one of them to be take to the maven listing.

  • Maven metadata URL
  • Maven metadata URL
  • Maven metadata URL

These properties can be set in a file named gradle.properties, placed in the same directory as your build.gradle file.

For this example, your gradle.properties would look like this:

mc_version=1.21
jei_version=19.5.0.59

Why compile against the API?

The example script only compiles against the API, which is very stable. When you run your mod (runtime), the full JEI will run as well so that you can still test with it in development.

If you make the mistake of compiling against the full mod jar and then use classes from JEI that are not in the API, your mod could break any time JEI updates.

If you find that you need a feature that is not in the API, be sure to ask on the issue tracker.

Clone this wiki locally