Your First Minecraft Mod with Java

minecraft mod tutorial

Creating a detailed Minecraft mod tutorial from scratch and providing all necessary source code within this format’s constraints can be challenging. However, I’ll outline a basic mod tutorial focusing on adding a new block to Minecraft, which should serve as a solid foundation for beginners interested in Minecraft modding. We’ll use Forge, the most popular modding API for Minecraft, and write our mod in Java.

Pre-requisites:

  • Minecraft Java Edition
  • Minecraft Forge (compatible with your Minecraft version)
  • JDK (Java Development Kit)
  • An IDE (Integrated Development Environment) like Eclipse or IntelliJ IDEA

Setting Up Forge Development Environment:

  1. Download Forge MDK (Mod Development Kit): Choose the correct version from Forge’s official site.
  2. Extract the MDK to a Folder: Name it something relevant like “MinecraftModTutorial”.
  3. Setup Workspace:
  • Open your command line in the folder.
  • Run gradlew setupDecompWorkspace (Windows) or ./gradlew setupDecompWorkspace (Mac & Linux).
  • After completion, run gradlew eclipse or gradlew idea depending on your IDE.
  1. Import the Project in IDE: Open Eclipse or IntelliJ IDEA and import the project.

Creating Your First Block:

We’ll create a simple custom block called “Ruby Block.”

Step 1: Create Your Mod Main File

Create a new package under src/main/java and name it com.yourname.mymod. Inside this package, create a new Java class named MyMod.

package com.yourname.mymod;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

@Mod(modid = MyMod.MODID, name = MyMod.NAME, version = MyMod.VERSION)
public class MyMod {
    public static final String MODID = "mymod";
    public static final String NAME = "My First Mod";
    public static final String VERSION = "1.0";

    @Mod.EventHandler
    public void init(FMLInitializationEvent event) {
        // Initialization logic
    }
}

Step 2: Register Your Block

Create a new class ModBlocks to register and initialize your blocks.

package com.yourname.mymod;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ModBlocks {
    public static Block rubyBlock;

    public static void init() {
        rubyBlock = new Block(Material.IRON)
                .setUnlocalizedName("rubyBlock")
                .setRegistryName("ruby_block");
        GameRegistry.registerBlock(rubyBlock);
    }
}

In your MyMod class, call ModBlocks.init() in the init method.

Step 3: Add Your Block Texture

  • Place your block texture (e.g., ruby_block.png) in src/main/resources/assets/mymod/textures/blocks.

Step 4: Create a Block Item Model JSON

  • In src/main/resources/assets/mymod/models/item, create a JSON file named ruby_block.json:
{
  "parent": "mymod:block/ruby_block",
  "textures": {
    "all": "mymod:blocks/ruby_block"
  }
}

Step 5: Test Your Mod

  • Run your Minecraft client through your IDE.
  • If everything is set up correctly, you should be able to find your new “Ruby Block” in the game.

Conclusion

This basic tutorial introduces you to the essentials of Minecraft modding, from setting up your development environment to adding a new block to the game. As you become more comfortable with the process, you can explore adding more complex features such as new items, mobs, and crafting recipes. The world of Minecraft modding is vast and creative, offering endless opportunities for those willing to delve into it. Happy modding!

SHARE WITH FRIENDS >

After-school Coding & Game Design Classes (Godot), Ottawa, Tutorials

20 Apr 2026

Godot Game Design for Teens in Ottawa: Find After‑School Classes + a Step‑by‑Step 2D Game Tutorial

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Weekend Workshops & Summer Coding Camps for Phoenix Kids: Short Intensives in Scratch & Block Coding

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Tech Requirements & Onboarding for Live Online Scratch Classes (Phoenix Families’ Checklist)

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Hybrid & School‑Partnership After‑School Coding in the Phoenix Metro: Options for Scottsdale, Tempe, Chandler & Gilbert

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

How We Teach Scratch & Block Coding by Age: Elementary vs. Middle School Curriculum (Phoenix metro)

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Instructor Qualifications & Safety for Live Virtual Scratch & Block Coding Classes — Phoenix Families’ Guide

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Are live virtual Scratch classes effective for young learners? Evidence, best practices & Phoenix parent tips

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Free trial & demos: How to book a live virtual Scratch class for kids in Phoenix

After-school Live Virtual Scratch & Block Coding Classes For Kids, Phoenix

20 Apr 2026

Pricing and packages for kids’ block coding classes in Phoenix: sibling discounts, make-ups & payment plans