---
title: "Learn to Code Minecraft Mods in Java: A Guide for Teens"
description: "Learn to code Minecraft mods in Java: Fabric or Forge, which Java version each needs, a first custom item step by step, and what the Minecraft EULA lets you share."
canonical: https://learn.modernagecoders.com/learn-to-code-minecraft-mods
source: src/pages/learn-to-code-minecraft-mods.html
---
> Learn to code Minecraft mods in Java: Fabric or Forge, which Java version each needs, a first custom item step by step, and what the Minecraft EULA lets you share.

In short

To learn to code Minecraft mods, learn basic Java, install the JDK your Minecraft version needs (Fabric says JDK 25 for Minecraft 26.1), generate a project with Fabric’s Template Mod Generator or Forge’s MDK, open it in IntelliJ IDEA, and register a first item. Mods are for Java Edition only. Modern Age Coders teaches modding inside its live Java course for ages 13 to 18.

Learn it with a teacher

## Three courses for a teen who wants to mod

The Java course is where modding lives; the other two suit a different starting point.

[![Java for Teens course thumbnail](/images/java-teens.webp)  MOD / 01 Java for teens Teens 13 to 18: core Java, a 2D game, then Minecraft modding. Open the syllabus →](/courses/java-programming-masterclass-for-teens)[![Game Development for Teens course thumbnail](/images/game-dev-teens.webp)  MOD / 02 Game development for teens For teens who would rather build whole games than mods. Open the syllabus →](/courses/complete-game-development-masterclass-for-teens)[![Minecraft Coding for Kids course thumbnail](/images/minecraft-coding-kids.webp)  MOD / 03 Minecraft coding for kids Younger siblings, 7 to 12: block coding first. Open the syllabus →](/courses/minecraft-coding-for-kids-course)

The first decision

## Fabric or Forge: two ways to load a Minecraft mod

A mod does not run on its own. It needs a mod loader, a piece of software that starts Minecraft with mods attached. The two long-standing choices are Fabric and Forge, and a mod written for one does not run on the other.

| Point | Fabric | Forge |
| --- | --- | --- |
| How it describes itself | A modular modding toolchain for Minecraft: Java Edition 1.14 and above, including snapshots | A mod loader with a Mod Developer Kit (MDK) and its own documentation site |
| Newest version on its pages | Developer docs for Minecraft 26.2 | Downloads for MC 26.3, Forge 66.0.13, dated October 16, 2026 |
| Java named in its setup docs | JDK 25 for Minecraft 26.1 | Java 21 JDK, in docs whose version menu tops out at 1.21.x |
| Editors it names | IntelliJ IDEA (recommended) or Visual Studio Code | Eclipse and IntelliJ IDEA, plus run configurations for Visual Studio Code |
| How a project starts | The Template Mod Generator, or cloning the example mod | Download and extract the MDK |
| The file that describes the mod | fabric.mod.json | mods.toml, in META-INF |
| Code names | Names from the unobfuscated game | Names as shown in its 1.21.x docs |

### Which one we start teens on

Our choice for a first mod is Fabric, for one practical reason: on the day we checked, its developer documentation covered a current 26.x version (26.2), while Forge’s documentation site stopped at 1.21.x even though Forge itself downloads for 26.3. A beginner should not have to translate between versions.

The Java skills are the same either way. Classes, methods, registration and events carry over, and teens who later join a Forge project learn its patterns quickly.

### Version numbers changed

Families who last looked at Minecraft a few years ago will notice something new: Forge’s download page lists Minecraft 26.1, 26.2 and 26.3 above 1.21.11. Mods are built for an exact version, so the version number is the first thing to check.

A mod for one version usually will not load on another. Mojang’s EULA says plainly that game updates might not work well with mods, and suggests running an older version when that happens.

Sources, read 17 October 2026: [Fabric Wiki](https://fabricmc.net/wiki/start), [Fabric developer docs](https://docs.fabricmc.net/develop/getting-started/setting-up), [Forge documentation](https://docs.minecraftforge.net/en/latest/gettingstarted/) and [Forge downloads](https://files.minecraftforge.net/net/minecraftforge/forge/). We are not connected with Mojang, Microsoft, Fabric or Forge.

The second decision

## Which Java version a Minecraft mod needs

A classic failed first setup comes down to one mismatch: the Java Development Kit on the computer is older than the Minecraft version needs. The modding projects publish the rule. Fabric’s current setup page puts it in one line: To develop mods for Minecraft 26.1, you will need JDK 25.

| Minecraft version | Java needed | Where it is stated |
| --- | --- | --- |
| 26.1 and the 26.2 docs | JDK 25 | Fabric developer docs, setting up |
| 1.20.5 and later 1.x | Java 21 or newer | Fabric wiki, setup tutorial |
| 1.18 to 1.20.4 | Java 17 or newer | Fabric wiki, setup tutorial |
| 1.17 | Java 16 or newer | Fabric wiki, setup tutorial |

### A version-match checklist (ours)

Write three things on a sticky note before starting: the Minecraft version you want to mod, the loader, and the Java version the table above gives for it. Every tutorial you follow should match all three.

If a tutorial uses a different Minecraft version, its code may not compile. That is not your fault and not a bug in your code; it is the wrong tutorial for your setup.

### Where to get a JDK

Forge’s documentation says it recommends and officially supports Eclipse Temurin, and the Fabric wiki points to the Temurin releases page for installers too.

Fabric warns that building from a terminal can cause problems if your default Java does not match what the project expects, and suggests an IDE that lets you pick the Java version. For a beginner, that is the simpler route.

Step by step

## Setting up a first Fabric mod project

These are the steps from Fabric’s developer documentation, in the order a beginner meets them, with the warnings that save the most time.

1. **Own Java Edition.** Mojang’s EULA gives the right to modify the game to people who have bought Minecraft: Java Edition, and Fabric targets Java Edition. Bedrock Edition is a different version of the game and is not modded this way.
2. **Install the right JDK.** For Minecraft 26.1, Fabric says JDK 25.
3. **Install an editor.** Fabric recommends IntelliJ IDEA, with Visual Studio Code as the alternative.
4. **Generate the project.** Use the Fabric Template Mod Generator: enter a mod name, a lowercase package name such as com.example.example-mod, and the Minecraft version, then download the zip.
5. **Choose a safe folder.** Fabric’s tips: avoid cloud storage folders such as Microsoft OneDrive, avoid non-ASCII characters such as emoji or accented letters, and avoid spaces. Its example of a good path is C:\Projects\YourProjectName.
6. **Open it and let Gradle finish.** The editor loads the Gradle configuration and downloads what the project needs. If asked, click Import Gradle Project.
7. **Rename the template.** Change the mod id, name and description in fabric.mod.json, and the maven_group and archive_base_name in gradle.properties.
8. **Launch Minecraft from the editor.** A test copy of the game starts with your mod loaded. Nothing has been changed in your normal Minecraft installation.

### Why the folder rule matters

School and family laptops often keep the Documents folder inside a cloud sync service. Build tools write thousands of small files, and Fabric’s tip exists because syncing gets in the way of that.

A plain folder near the top of the drive, with no spaces in its name, avoids a whole family of confusing errors.

### What the template already contains

The generator creates two entrypoints by default, according to Fabric: a main one, in a class that implements ModInitializer, for code shared by client and server, and a client one, implementing ClientModInitializer, for client-only code.

The main entrypoint runs when Minecraft is ready to load mods. Fabric’s own example logs Hello Fabric world! there; ours logs that the ruby shard was registered.

Your first mod

## Coding a first custom item: a ruby shard

A new item is the classic first mod because it touches every part of modding: Java code to register it, and JSON files to name it and give it a look. Fabric’s docs put it simply: everything in Minecraft is stored in registries, and items are no exception.

***Step 1 · register the item in Java**java*

```
// ModItems.java (ours: Fabric docs pattern, MC 26.2)
public class ModItems {
    public static Item register(
            ResourceKey<Item> key,
            Function<Item.Properties, Item> factory,
            Item.Properties settings) {
        Item item = factory.apply(settings.setId(key));
        Registry.register(BuiltInRegistries.ITEM, key, item);
        return item;
    }

    public static final ResourceKey<Item> RUBY_KEY =
        ResourceKey.create(Registries.ITEM,
            ExampleMod.id("ruby_shard"));

    // stacks of 16 instead of the usual 64
    public static final Item RUBY_SHARD = register(
        RUBY_KEY, Item::new,
        new Item.Properties().stacksTo(16));

    public static void initialize() {
        CreativeModeTabEvents
            .modifyOutputEvent(CreativeModeTabs.INGREDIENTS)
            .register(tab -> tab.accept(RUBY_SHARD));
    }
}
```

Written with the classes and methods Fabric’s 26.2 documentation uses: ResourceKey, Item.Properties with setId, Registry.register and CreativeModeTabEvents. Imports are left out to keep it short; your editor offers to add them. Fabric notes that a damageable item always stacks to 1, so stacksTo only works on items like this one.

***Step 2 · call it from the entrypoint**java*

```
// ExampleMod.java: the main entrypoint (ours)
public class ExampleMod implements ModInitializer {
    public static final String MOD_ID = "example-mod";
    public static final Logger LOGGER =
        LoggerFactory.getLogger(MOD_ID);

    @Override
    public void onInitialize() {
        ModItems.initialize(); // loads the class
        LOGGER.info("Ruby shard registered");
    }

    public static Identifier id(String path) {
        return Identifier.fromNamespaceAndPath(MOD_ID, path);
    }
}
```

Fabric explains why initialize() can be empty and still matter: calling any method on a class makes Java load it, which runs its static fields, and that is where the item is registered.

***Step 3 · name it and give it a look**json*

```
// assets/example-mod/lang/en_us.json
{ "item.example-mod.ruby_shard": "Ruby Shard" }

// assets/example-mod/models/item/ruby_shard.json
{
  "parent": "minecraft:item/generated",
  "textures": {
    "layer0": "example-mod:item/ruby_shard"
  }
}

// assets/example-mod/items/ruby_shard.json
{
  "model": {
    "type": "minecraft:model",
    "model": "example-mod:item/ruby_shard"
  }
}
```

Three small JSON files, each in its own folder under src/main/resources. The texture is a 16x16 PNG named ruby_shard.png in assets/example-mod/textures/item. Replace example-mod with your own mod id everywhere.

### Code declares, data describes

Notice the split. Java says that a ruby shard exists and how it behaves; the JSON files say what it is called and how it looks. Minecraft itself is built this way, which is why so much of modding is editing data files rather than writing code.

That idea, separating behavior from description, is one professional developers use everywhere, from websites to phone apps.

### Small numbers to check (our arithmetic)

A 16 x 16 texture is 256 pixels, small enough to draw by hand in any pixel editor in a few minutes.

With stacksTo(16), carrying 64 shards takes 64 / 16 = 4 inventory slots, where an ordinary item that stacks to 64 needs one. Changing that single number is a good first experiment: build, launch, and count the slots. After editing these files, Fabric says you can restart the game, or build the mod and press F3+T, to apply the changes.

Sharing a mod

## What the Minecraft EULA says about mods you make

A teen whose first mod works will want to share it with friends. Mojang’s EULA and usage guidelines are friendly to that, with a few firm limits worth reading together.

| Question | What Mojang says |
| --- | --- |
| Can I mod the game? | If you’ve bought Minecraft: Java Edition, you may play around with it and modify it |
| Who owns my mod? | Any Mods you create for Minecraft: Java Edition from scratch belong to you |
| Can I sell it? | Not for money: you can do what you want with your mods as long as you don’t sell them for money or try to make money from them |
| Can I share it? | Yes, if you distribute the mod only and not a modded version of Minecraft |
| Any banned kinds of mod? | No play-to-earn function that pays out real-world or cash-out currency |
| What if an update breaks it? | Mojang does not take responsibility; it suggests running an older version |

### For parents

The EULA asks minors who find the terms hard to understand to have a parent or legal guardian explain them. Reading the mods paragraph together takes five minutes and covers what a teen needs.

Installing other people’s mods is a separate question from writing your own. Fabric’s documentation mentions CurseForge and Modrinth as mod hosting sites; agree as a family which sources are allowed.

### How to share a finished mod

Build it with ./gradlew build on a Mac or Linux, or ./gradlew.bat build on Windows. The JAR files appear in build/libs, and Fabric says to use the one with the shortest name outside development.

Share the JAR, never a copy of Minecraft itself. That one rule keeps a teen’s mod inside what Mojang allows.

Sources, read 17 October 2026: the [Minecraft EULA](https://www.minecraft.net/en-us/eula), the [Minecraft Usage Guidelines](https://www.minecraft.net/en-us/usage-guidelines) and Fabric’s [Building a Mod](https://docs.fabricmc.net/develop/getting-started/building-a-mod). Quoted lines are shortened; read the full terms before publishing.

A first term

## Ten sessions from no Java to a working mod

Our plan for a teen who knows Minecraft well but has not written Java before. The plan moves faster through the first four rows for teens with some Python or JavaScript.

| Sessions | What gets built | The Java idea |
| --- | --- | --- |
| 1 to 2 | Small console programs: a dice roller, a score keeper | Variables, types, if and loops |
| 3 to 4 | A tiny inventory written as classes | Classes, objects, methods, static |
| 5 | JDK, IntelliJ IDEA and the Fabric template running | Projects, packages, Gradle |
| 6 to 7 | The ruby shard: registry, name, texture | Registration, data files |
| 8 | A custom block that drops the shard | Inheritance and properties |
| 9 | A recipe and a creative tab | Events and data-driven design |
| 10 | Build the JAR, test on a dedicated server, explain the code | Testing, client and server sides |

### Why Java first

Two sessions of plain Java make the modding code readable instead of magic. Skipping them makes the modding code far harder to follow.

### Why a server test

Forge’s docs say to always test a mod in a dedicated server environment, including client-only mods. It is good advice for any loader.

### Where it leads

Java is also the language of our AP Computer Science A classes, and a common one for Android apps and server software.

Younger players start with blocks instead: see our [Minecraft coding classes for kids](/minecraft-coding-classes-for-kids). For the language itself, [Java classes for teens](/java-classes-for-teens) and [AP Computer Science A classes](/ap-computer-science-a-online-classes) go further, and [Minecraft vs Roblox](/blog/minecraft-vs-roblox-which-teaches-kids-to-code) compares the two game worlds.

From player to modder

## Four stages of a young Minecraft modder

Where a teen who searches for modding might be today.

| Stage | What it looks like |
| --- | --- |
| 1. Mod user | Installs mods and knows which ones they like |
| 2. Tinkerer | Edits data packs, configs or textures |
| 3. First modder | Registers items and blocks from a tutorial |
| 4. Mod author | Designs a feature, writes the Java, and ships a JAR |

### For parents

Hours of playing are not wasted. A teen who can describe why a mod is fun is already thinking like a designer.

Stage 3 needs real Java. A teacher makes the difference between copying a tutorial and understanding it.

### For teens

Match your versions first: Minecraft, loader, Java. A mismatch is behind a lot of setup errors.

Start with one item. A mod that adds one thing and works beats a mod that adds fifty and crashes.

The catalogue

## Nine courses for teens who want to build

Taught live, the same teacher each week, as part of a batch or one to one.

I

### Younger

Ages 6 to 12

MOD / KID / 01

#### Minecraft coding

MakeCode blocks before Java.

[Open the syllabus](/courses/minecraft-coding-for-kids-course)

MOD / KID / 02

#### Scratch coding

Logic and games in blocks.

[Open the syllabus](/courses/scratch-programming-complete-course)

MOD / KID / 03

#### Python for kids

A first typed language.

[Open the syllabus](/courses/python-ai-kids-masterclass)II

### Teens

Ages 13 to 18

MOD / TEN / 01

#### Java for teens

Core Java to Minecraft mods.

[Open the syllabus](/courses/java-programming-masterclass-for-teens)

MOD / TEN / 02

#### Python for teens

Projects in a second language.

[Open the syllabus](/courses/python-complete-masterclass-teens)

MOD / TEN / 03

#### C++ for teens

Speed, memory and games.

[Open the syllabus](/courses/cpp-programming-masterclass-for-teens)III

### Going further

Teens and adults

MOD / PRO / 01

#### Game development for teens

Unity and C#.

[Open the syllabus](/courses/complete-game-development-masterclass-for-teens)

MOD / PRO / 02

#### Game development

Engines at a professional pace.

[Open the syllabus](/courses/game-development-complete-masterclass-college)

MOD / PRO / 03

#### Hackathon preparation

Build and present under time.

[Open the syllabus](/courses/hackathon-prep-for-teens-coding-ai-build-innovate-win-course)

How lessons run

## Live Java lessons for teens, on your schedule

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

Weekdays

Evening batches that work across US time zones.

Weekends

Weekend morning batches for longer build sessions.

1-on-1

Private, at your convenience.

### Setup done together

JDK, editor and template in a live class.

### Your mod idea

The plan bends toward what you want to add.

### Real Java

The same language as our AP CS A classes.

### One teacher

The same person all term.

### Anywhere in the US

Fully online, any state.

### Batch or private

Fifteen to twenty teens, or one to one.

Student work

## Projects our students have shipped

Built by teenagers who learned to code with us. More are on the [student labs](/student-labs) page.

![NutriLife AI nutrition coach project screenshot](/images/projects/nutrilife.webp)

AI and ML

#### NutriLife

An AI nutrition coach that reads what you eat and works you toward a target.

by Bhavya · [Open it](https://nutrilife-bhavya.lovable.app)

![Misti AI chatbot for maths and coding screenshot](/images/projects/misti.webp)

AI and ML

#### Misti

A chatbot that answers mathematics and programming questions, built and deployed by a student.

by Harshit · [Open it](https://misti.modernagecoders.com)

![GuardianX AI internet safety assistant screenshot](/images/projects/guardianx.webp)

AI and ML

#### GuardianX

An assistant that helps a young person recognise unsafe situations online.

by Vivaan · [Open it](https://guardianx-cybersaver.lovable.app)

![SkyCast weather forecast application screenshot](/images/projects/skycast.webp)

Web app

#### SkyCast

A weather forecasting site with live conditions for any location.

by Krish

Fees

## Fees

Fabric, Forge and the JDK are free, and Java Edition is the only purchase modding needs. Our teaching is paid month by month in US dollars, with nothing to sign for the year and the option to stop after any month.

Free first class

USD 0

no card required

- A free first lesson
- Setup questions answered
- No card

Book it

Group batch

USD 100

a month, billed in US dollars

- Fifteen to twenty teens
- A regular teacher
- Pick a batch time
- Monthly

Start here

One to one

USD 150

a month, billed in US dollars

- One to one
- Times that suit you
- Your own mod

Enquire

What families say

## Rated 4.9 across 547 Google reviews

Google reviews from parents, quoted without edits.

★★★★★

"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."

Ria Mukherjee

Parent

★★★★★

"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."

Samriddha Mondal

Student

★★★★★

"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."

Vansh Agarwal

Student

★★★★★

"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."

Sonam Oswal

Parent of Dhairya

★★★★★

"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."

Sonu Goyal

Parent

★★★★★

"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."

Ritu Kedia

Parent

Questions from teens and parents

## Minecraft modding: common questions

### What language are Minecraft mods written in?

Java. Minecraft: Java Edition is written in Java, and Fabric and Forge mods are Java projects built with Gradle.

### How do you start learning to code Minecraft mods?

Learn basic Java first: variables, loops, classes and methods. Then install the JDK your Minecraft version needs, generate a Fabric or Forge project, and register a first item.

### Should I use Fabric or Forge?

Both work and the Java skills carry over. We start beginners on Fabric because its developer docs covered a current 26.x version (26.2) when we checked, while Forge's docs stopped at 1.21.x.

### Which Java version do I need for Minecraft modding?

It depends on the Minecraft version. Fabric's docs say JDK 25 for Minecraft 26.1, and its wiki says Java 21 or newer since 1.20.5 and Java 17 or newer since 1.18.

### Can you mod Minecraft Bedrock Edition the same way?

No. Fabric and Forge are for Minecraft: Java Edition, and the EULA's mod permission is written for people who bought Java Edition.

### Is it legal to make Minecraft mods?

Yes, within Mojang's rules. The EULA says mods you create from scratch belong to you, as long as you don't sell them for money, and you may share the mod but not a modded version of the game.

### What age can kids learn Minecraft modding?

We teach Java modding from about 13, once a student can type and reason through Java classes. Younger children do well with block-based Minecraft coding first.

### Do I need IntelliJ IDEA to make mods?

Fabric recommends IntelliJ IDEA, with Visual Studio Code as an alternative. Forge supports Eclipse and IntelliJ IDEA and provides run configurations for Visual Studio Code.

### Why does my mod not load?

Check versions first: the mod, the loader and Minecraft must all be the same version, and the JDK must be the one that version needs.

### What times are classes for US teens?

Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.

### How much do Java and modding classes cost?

The first lesson is free. Regular classes are billed monthly, and the fees section of this page gives the amount in US dollars.

Elsewhere on this site

## Related pages

More for US teens who like to build.

### [Minecraft coding for kids](/minecraft-coding-classes-for-kids)

Block coding for under-13s.

### [Java classes for teens](/java-classes-for-teens)

The language behind every mod.

### [AP Computer Science A](/ap-computer-science-a-online-classes)

Java, the College Board way.

### [Minecraft vs Roblox](/blog/minecraft-vs-roblox-which-teaches-kids-to-code)

Which game teaches more coding.

### [Coding classes in the USA](/coding-classes-in-united-states)

State guides, ages and subjects.

### [How we teach](/how-we-teach)

What a live lesson looks like.

### [Python games for kids](/python-games-for-kids)

Python games kids can code: a guessing game, then pygame, step by step.

### [MakeCode Arcade help](/makecode-arcade-help-for-students)

MakeCode Arcade help: jumping, gravity, tilemap levels and lost projects.

### [How to make a Roblox game](/how-to-make-a-roblox-game)

Make a Roblox game step by step: devices, three Luau scripts, and safe publishing.

Start here

## Book a free first lesson

Tell us which Minecraft version your teen plays and the first thing they would like to add. The teacher checks the Java and loader versions for that before the lesson.

If you would like to see the method first, [how we teach](/how-we-teach) walks through a lesson, and the Java syllabus is on [our courses page](/courses).

[WhatsApp us](https://wa.me/919123366161?text=Hello%20Modern%20Age%20Coders%2C%20my%20teenager%20in%20the%20US%20wants%20to%20learn%20Java%20by%20making%20Minecraft%20mods.%20Could%20we%20book%20a%20free%20first%20lesson%3F) · [+91 91233 66161](tel:+919123366161) · [connect@modernagecoders.com](mailto:connect@modernagecoders.com)

Every lesson is live over video, taught by our team in India, so teens anywhere in the US join from home. A WhatsApp message is the quickest way to ask us something.

### Want a class sooner? Book a priority demo

A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.

[Book a priority demo](/book-demo)

## Keep exploring Modern Age Coders

### Related courses and guides

- [Learn to Code Over 50 in Australia](/learn-to-code-over-50-australia)
- [Learn Coding From First Principles: Understand How Code Actually Works](/learn-coding-from-first-principles)
- [Learn to Code Over 50, UK](/learn-to-code-over-50-uk)
- [Learn Coding by Class (4–12)](/learn-coding-by-class)
- [Leaving Cert Computer Science Grinds Online](/leaving-cert-computer-science-grinds-online)
- [Learn Coding by Age (8–17)](/learn-coding-by-age)
- [Roblox Coding Classes in Australia](/roblox-coding-classes-australia)
- [Our Results](/results)
- [We Teach You How to Think](/we-teach-you-how-to-think)

### Learn more

- [Coding for ICSE Students: Java BlueJ, Computer Applications & ISC CS](/coding-for-icse-students)
- [ICSE Computer Applications (Class 9-10): Java with BlueJ](/courses/icse-computer-applications-java-bluej-course)
- [Computer Applications ICSE Class 10: Java BlueJ Tuition](/computer-applications-icse-class-10)
- [ICSE Class 10 Java Classes Online](/icse-class-10-java-classes-online)

### Free resources

- [Java Tutorial for Beginners to Advanced](/resources/java)
- [Taking Input with Scanner](/resources/java/taking-input-in-java)
- [Arrays in Java](/resources/java/arrays-in-java)
- [Encapsulation and Access Modifiers](/resources/java/encapsulation-and-access-modifiers)

### From the blog

- [Java Tutorials & Programs](/blog/topic/java)
- [Top 20 Java Programs for ICSE Class 10 (With Code)](/blog/top-20-java-programs-for-icse-class-10)
- [50 Important Java Programs for ICSE Class 10 Boards](/blog/50-java-programs-for-icse-class-10)
- [Java Constructors Explained: Types, Overloading, ICSE](/blog/java-constructors-explained)

### Start here

- [Browse every live course at Modern Age Coders](/courses)
- [Try a free trial class with a Modern Age Coders mentor](/free-trial)

Free class[Priority demo](/book-demo)[Call us](tel:+919123366161)

---

*Canonical: https://learn.modernagecoders.com/learn-to-code-minecraft-mods*
