Skip to content

A toolchain for Minecraft: Java Edition that builds a workspace to interact with the game using the official distributions provided to the public by Mojang Studios.

License

Notifications You must be signed in to change notification settings

SpongePowered/VanillaGradle

Repository files navigation

VanillaGradle Logo

VanillaGradle is a toolchain for Minecraft: Java Edition that provides a workspace to interact with the game using official unobfuscated jars provided by Mojang Studios. This plugin requires at least Gradle 9.2.1 and Java 25 to run.

VANILLAGRADLE IS NOT DESIGNED AND IS NOT GENERALLY USEFUL FOR END-USER USE. IT IS FOR TOOLING AND PLATFORM DEVELOPERS WHO HAVE A SOLID WORKING KNOWLEDGE OF GRADLE ONLY!

Documentation

The main documentation for VanillaGradle can be found in the Wiki.

For additional help use the channel #vanillagradle on the Sponge Discord server.

Otherwise, to get a workspace up and going with vanilla Minecraft immediately it is as simple as creating a Gradle build based on this buildscript:

plugins {
    java
    id("org.spongepowered.gradle.vanilla") version "0.3.0"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

minecraft {
    version("26.1") // or: latestRelease() or latestSnapshot()
    runs {
        server()
        client()
    }
}

Within IntelliJ IDEA and Eclipse, this will generate run configurations named runClient and runServer

To have browsable sources in-IDE, run ./gradlew decompile

Building VanillaGradle

VanillaGradle uses the Gradle build automation system. To perform a build, use Gradle version 9.2.1 and execute

gradle build

from within the project root directory. (If you do not have Gradle installed on your system you can instead run the supplied Gradle wrapper gradlew)

Version History

Compatibility: We use Semantic Versioning for the user-visible API in VanillaGradle. This applies to every public class outside of the org.spongepowered.gradle.vanilla.internal package. The contents of the internal package are considered implementation details and are subject to change at any time.

Version Date Features / Changes
0.3.0 December 2025
  • Require Java 25 and Gradle 9
  • Remove de-obfuscation
  • Bump minimum Minecraft version to 26.1-snapshot-1
0.2.2 November 2025
  • Require Java 11
  • Improve IntelliJ IDEA project sync performance
  • Compatibility with shadow plugin 9.0.2
0.2.1 November 2025
  • Use Forge's renamer for remapping rather than Atlas
  • Strip jar signature
  • Support Minecraft 1.19-pre1 client
  • Choose Vineflower as our default decompiler
  • Avoid running asset/native downloads when unnecessary
  • More run options (source set, environment variables)
0.2 May 2021
  • Run configurations are generated for Eclipse
  • Sources are now visible in-IDE
  • Asset download task now validates existing assets
  • Minecraft artifacts are now only generated when changed, improving build performance
  • Non-access widened jars are stored in a global shared cache rather than per-project
  • Custom version manifests can be provided for out-of-band releases, such as combat snapshots
  • The javaVersion field recently added to Mojang launcher manifests is now used to determine runtime toolchains
0.1 February 2021
  • Initial Release

About

A toolchain for Minecraft: Java Edition that builds a workspace to interact with the game using the official distributions provided to the public by Mojang Studios.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 13

Languages