MINECRAFTHUB.IO
Beginner

How to Make a Minecraft Mod

Making a Minecraft mod starts with one choice: MCreator's no-code editor, a coded Java mod built with Fabric or NeoForge, or a Bedrock add-on. Here is what each route costs in time, skill, and tools.

How to make a Minecraft mod cover showing raw blocks turning into a finished, ticked mod crate

Published

Making a Minecraft mod is not one process, it's three different ones, and picking the wrong one wastes a weekend before you write a line of anything. A mod built for Java Edition and an add-on built for Bedrock Edition use completely different toolchains and never run on each other's version of the game. This guide lays out the three honest routes, what each one actually costs in time and skill, and the tools each needs, so you can pick the one that matches what you're trying to build.

Java mods and Bedrock add-ons are not the same thing

Minecraft ships as two separate games under one name. Java Edition, the PC, Mac, and Linux version, runs mods as .jar files loaded by a mod loader such as Fabric or NeoForge, written in the Java programming language. Bedrock Edition, which covers Windows, consoles, and mobile, has no loader and no jar files at all; it adds content through add-ons, a pair of JSON-based behavior and resource packs that can optionally run custom logic through a JavaScript scripting API. A Java mod will not install on Bedrock, and a Bedrock add-on will not install on Java, so the platform decides the entire toolchain before anything else does. See our Java vs Bedrock comparison if you're not sure which edition you're playing.

Three ways to make a mod, compared

  • MCreator, no code: hours to a working first mod, free, exports a real Java project plus a Bedrock add-on from the same wizard interface.
  • A coded Java mod with Fabric or NeoForge: days to weeks, needs actual Java programming knowledge, a current JDK, and an IDE, but gives full control over game logic.
  • A hand-built Bedrock add-on: hours to days depending on complexity, built from JSON files with optional scripting, no Java or JDK involved at all.

The no-code route with MCreator

MCreator is a free, open-source Minecraft mod maker built by Pylo. It replaces hand-written code with wizards and a visual editor for blocks, items, mobs, and simple mechanics, while still generating a real project underneath that you can open in its built-in code editor once the wizards run out of options. The current release, MCreator 2026.2, generates Java mods for NeoForge on Minecraft 26.1.2 and 1.21.1 by default, with Fabric support and other Minecraft versions added through separate generator plugins, so check the plugin list before promising a specific loader or version. The same project can also export a Bedrock Edition add-on, plus resource packs and data packs, without switching tools.

The trade-off: a simple new block or item is genuinely fast to build this way, but a mechanic that needs custom logic the wizards don't cover eventually pushes you into MCreator's code editor, and at that point you're writing Java regardless of which mod maker you started in.

Writing a coded Java mod with Fabric or NeoForge

Skipping the visual editor means starting from a template project for one of the two active Java mod loaders, Fabric or NeoForge. Fabric's template generator, hosted at fabricmc.net/develop/template, builds a customized starter project similar to the fabric-example-mod repository and releases it under a CC0 licence, so nothing about the starter code restricts what you build with it. NeoForge replaced its old downloadable MDK archive with a browser-based mod generator at neoforged.net/mod-generator, which produces a starter project from a mod name, package name, and target Minecraft version.

Both projects currently need a Java 25 Development Kit to build. Fabric's documentation specifies JDK 25 for Minecraft 26.1 development, and NeoForge's documentation calls for a 64-bit Java 25 JDK, recommending Microsoft's OpenJDK build specifically. Both loaders' docs recommend IntelliJ IDEA as the IDE, with Visual Studio Code offered as an alternative. Once the JDK and IDE are in place, generating the template gives you a project that builds and launches a development client through its bundled Gradle wrapper; adding a new item or block is typically one registry entry plus its texture and language files, with no build system changes needed.

Bedrock add-ons use a different toolkit entirely

Building a Bedrock add-on means writing JSON manifest and definition files for behavior packs and resource packs instead of Java, with an optional JavaScript scripting API for anything the JSON format alone can't express. There's no JDK, no Gradle, and no mod loader in this pipeline; Bedrock reads add-ons directly once they're placed in the right folder or imported as a .mcaddon. It's a large enough topic to deserve its own walkthrough. The short version here is that MCreator, covered above, produces a working add-on without hand-writing JSON, and Mojang's own Minecraft Creator documentation covers the fully hand-coded path for anyone who wants complete control over the result.

Tools you need before you start

  • MCreator: the MCreator download itself, which bundles its own Java runtime, so no separate JDK install is needed.
  • Coded Java mod: a JDK, currently JDK 25 for both Fabric's and NeoForge's current Minecraft version, IntelliJ IDEA or Visual Studio Code, and the loader's own template generator.
  • Bedrock add-on: a plain text or JSON editor, and Minecraft Bedrock Edition itself to test the pack once it's placed in the right folder or imported as a .mcaddon.

Testing and publishing your mod

Every route ends the same way: test in a fresh instance before anyone else sees it. MCreator and the Fabric or NeoForge templates both launch a development client you can play in directly, and a Bedrock add-on gets tested by loading it into a normal world once it's placed in Minecraft's add-on folders. For a Java mod, our guide to installing mods covers setting up a matching test instance with the right loader and version once you have a built jar. When the mod behaves the way you expect, package it and publish it to Modrinth or CurseForge with the loader, the Minecraft version range, and a licence attached, the same sourcing details every page on this site links back to.

Frequently asked questions

What do I need to make a Minecraft mod?

It depends on the route. MCreator needs nothing but the free download itself, since it bundles its own Java runtime. Writing a coded Java mod with Fabric or NeoForge needs a JDK, currently JDK 25 for both, an IDE such as IntelliJ IDEA, and the loader's own template generator. A Bedrock add-on needs only a JSON or text editor and Minecraft Bedrock Edition to test it in.

Is MCreator a good minecraft mod maker for beginners?

MCreator is free, open source, and generates a real mod project instead of a closed black box, which makes it a reasonable minecraft mod maker to start with. Its wizards cover blocks, items, mobs, and simple mechanics quickly, but a mod that needs custom logic beyond what the wizards expose eventually needs MCreator's built-in code editor, where you're writing Java like any other route.

Can I make a Minecraft mod without coding?

Yes, with MCreator, which builds a Java mod or Bedrock add-on through wizards and a visual editor rather than hand-written code. Writing a Java mod directly with Fabric or NeoForge does require actual Java programming, even for something as small as a single new item.

Can I turn a Java mod into a Bedrock add-on?

No. The two use unrelated formats, a compiled Java jar loaded by a mod loader versus JSON behavior and resource packs read natively by Bedrock, and neither converts automatically into the other. Recreating the same feature on the other platform means rebuilding it with that platform's own tools.

Do AI mod makers actually work?

They can produce something that loads, but the output still needs the same testing any other mod gets: load it in a fresh instance, play through what it changes, and check it doesn't do anything unexpected before handing the file to anyone else.