Start with Java Edition or Bedrock Edition

Java Edition uses JAR-based code mods with loaders such as Fabric, Forge, and NeoForge. That is the route used by this site's Copper Token exercise. Bedrock Edition uses behavior packs, resource packs, and its scripting API; a Java mod JAR cannot be installed as a Bedrock add-on.

The Minecraft Launcher is not the game engine. Record the edition shown by your actual game profile before interpreting a scan. For a Paper or Spigot server, plugins are another route; they are not interchangeable with client-side loader mods.

Let the target instance decide the loader

If you are extending an existing modpack, use its exact loader and game version. For a new project, choose the loader whose API and dependencies fit the feature you want. Universal Modder supplies the research and coding workflow; it does not convert a Fabric JAR into a NeoForge or Forge JAR.

FABRIC

Use a Fabric instance and its APIs.

Start with the official version-targeted template. Fabric Loader and Fabric API are separate dependencies; not every mod requires the API, but a mod that declares it must have the matching build installed.

Official template
FORGE

Keep established Forge modpacks consistent.

The upstream 1.20.1 route uses Forge 47.x and JDK 17. Existing Forge mods, dependencies, configuration and worlds are a reason to keep that environment together.

1.20.1 setup docs
NEOFORGE

Follow the matching NeoForge MDK.

Our practice exercise uses Java 1.21.1 and NeoForge 21.1.252. Use NeoForge-versioned APIs and metadata; API examples for another loader or game release may need changes.

Start the practice tutorial

A few documented combinations

This table records specific source-backed combinations. It is not a universal compatibility list, and none of these rows means “the latest release.” Check your mod's own dependency range before installing it.

Game target Loader / route Development Java Evidence & scope
Java 1.21.1 NeoForge 21.1.252 64-bit JDK 21 Official MDK and upstream dimension/tool-tier field note; our practice source target
Java 1.21.1 Fabric + version-matched API when required JDK 21 Official Fabric 1.21.1 development documentation; confirm exact Loader/API versions in the project
Java 1.20.1 Forge 47.4.10 in the Ruby Rush note JDK 17 Upstream Windows/Prism example; verify your installed Forge 47.x build and dependency ranges
Bedrock Behavior/resource packs, Script API Not the Java loader workflow Use the Bedrock-specific authoring and game version; the Java example does not apply

A code mod commonly needs a particular game version, a loader range, and one or more library mods. Treat those as a set. A “1.21” label on a download is not enough to establish that it works with 1.21.1, 1.21.4, or a later release.

Check the JVM used by the build and the launcher

Your shell's Java, the IDE's Gradle JVM, and the launcher's game runtime can be different. A launcher-bundled runtime that runs the game is not necessarily a JDK that can compile source code.

Check the shell runtime and compiler
java -version
javac -version
Windows PowerShell / check the Gradle JVM
.\gradlew.bat --version
macOS / Linux / check the Gradle JVM
./gradlew --version

For the 1.21.1 NeoForge exercise, all development tools should resolve a suitable JDK 21. For Forge 1.20.1, follow its documented Java 17 setup. If the wrapper reports a different JVM, fix the IDE or toolchain configuration before changing game code.

Keep dependencies and instance folders aligned

  • Use the instance's real game directory. A modpack can have a mods/ folder separate from the default launcher directory.
  • Read the mod metadata. NeoForge uses its neoforge.mods.toml metadata; Fabric uses fabric.mod.json; Forge uses its versioned mod metadata.
  • Match required libraries. A missing dependency and an incompatible dependency are different errors; copy their exact names and version ranges from the log.
  • Distinguish client and server requirements. A local single-player pass does not establish that a mod is safe to load on a dedicated server.
  • Use one version of each mod. Duplicate JARs can collide before the game reaches the menu.
Prompt / compatibility check
Inspect this Minecraft instance and list the edition, game version, loader name/version, game directory, launcher runtime, Gradle JVM and declared mod dependencies. Compare them with the field note or template I am following. Explain every mismatch before proposing a change.

Pick one route and one finish line

For a new 1.21.1 NeoForge practice instance, the Copper Token tutorial gives you a defined item, recipe, source package, build commands, and installed-JAR checks. For an existing Fabric or Forge modpack, preserve that pack's environment and ask your agent to build a similarly small feature with its matching API.

NEXT / A SOURCE EXAMPLE YOU CAN FOLLOW Make a Minecraft mod with AI

Sources & version notes

Instructions were checked against the versioned documentation and repository snapshots below on October 7, 2026. Match them to the edition and loader you actually use.

Find your next starting point. Esc to close