Skip to main content
Before you can build Essential, you need to set up your development environment with the required tools and dependencies.

Prerequisites

Java Development Kits (JDKs)

You must install all four JDK versions listed below, even if you only want to build for a specific Minecraft version.
Essential requires the following JDK versions:
  • Java 21 (or newer) - Must be the default Java version on your system
  • Java 17
  • Java 16
  • Java 8
You can download JDKs from Adoptium Temurin.
Java 21 (or newer) must be set as your default Java version. The build system will automatically use the other JDK versions as needed for specific Minecraft versions.

Git

You’ll need Git installed to clone the repository and manage submodules.

Clone the Repository

This repository uses git submodules. You must initialize them after cloning.
Essential has several submodules that must be initialized:
  • loader - Essential Loader
  • subprojects/pseudotcp/upstream - Jitsi PseudoTCP library
1

Clone with submodules

Clone the repository and initialize all submodules in one command:
git clone --recursive https://github.com/EssentialGG/Essential.git
cd Essential
2

Or clone and initialize separately

If you already cloned without --recursive, initialize the submodules:
git clone https://github.com/EssentialGG/Essential.git
cd Essential
git submodule update --init --recursive
3

Update submodules after pulling

Run this command every time you pull a new version to keep submodules in sync.
git submodule update --init --recursive

Gradle Wrapper

No manual Gradle installation is required. The repository includes the Gradle wrapper which will automatically download the correct version.
Essential uses the Gradle wrapper to ensure consistent builds. The wrapper is included in the repository and available via:
  • ./gradlew (Linux/Mac)
  • gradlew.bat (Windows)
We highly recommend using the Gradle wrapper scripts instead of a local Gradle installation. This ensures you’re using the exact same version of Gradle as the official builds. We cannot guarantee that other Gradle versions will work or produce bit-for-bit identical output.

Verify Your Setup

To verify your environment is configured correctly:
# Check Java version (should be 21 or newer)
java -version

# Verify Gradle wrapper works
./gradlew --version

Next Steps

With your environment set up, you’re ready to build Essential:

Build Essential Mod

Build Essential for all or specific Minecraft versions

Build Essential Loader

Build the Essential Loader stages and platforms

Build docs developers (and LLMs) love