EverMod Templates is the official repository of reusable Forge MDK templates used by the EverMod CLI to create and manage Minecraft Forge mods across multiple versions β from 1.19.2 up to the latest releases.
This repository provides a unified, dynamic, and version-aware system for generating Forge mod projects using Jinja2 templates.
Each mod created with the EverMod CLI uses these templates to build a fully configured project β complete with Gradle files, mod metadata, and starter Java classes β all tailored to the selected Minecraft version.
By maintaining all logic and version configuration here, EverMod ensures:
- β Consistent project structure across all Minecraft versions.
- β‘ Fast mod creation via the interactive
evermod createcommand. - π Centralized updates for Gradle and Forge version compatibility.
- π§© Automatic registration in multi-mod workspaces.
When you run:
evermod createThe CLI starts an interactive wizard that:
-
Asks for basic information (mod name, mod ID, author, Minecraft version, etc.).
-
Reads the configuration for that version from
versions.json. -
Uses the Jinja2 templates to render:
build.gradlegradle.propertiesMainMod.java(auto-configured main mod class)
-
Copies the base folder structure:
src/main/java/net/{mod_group}/{mod_id}/ src/main/resources/ src/main/resources/META-INF/ -
Inserts
mods.toml,pack.mcmeta, andLICENSE.txtautomatically. -
If not part of a workspace, it also includes the Gradle wrapper and
.gitignorefiles. -
Registers the new mod inside your workspace
settings.gradlewhen applicable.
evermod-templates/
βββ CHANGELOG.md
βββ manifest.json # Template version info and changelog
βββ README.md
βββ templates/
βββ gradle/wrapper/ # Wrapper configuration files
βββ .gitattributes
βββ .gitignore
βββ build.gradle.j2 # Jinja2 template for all Forge builds
βββ gradle.properties.j2 # Jinja2 template for properties
βββ gradlew # Gradle wrapper scripts
βββ gradlew.bat # Gradle wrapper scripts
βββ LICENSE.txt # Forge license
βββ MainMod.java.j2 # Template for the mod's main class
βββ mods.toml # Standard Forge mod metadata file
βββ pack.mcmeta # Required by Minecraft for resource packs
βββ settings.gradle # Default Gradle settings file for standalone mods
βββ versions.json # Version mapping and rendering metadata
| File | Purpose |
|---|---|
| CHANGELOG.md | Contains version history in Markdown format. |
| manifest.json | Stores the latest release info and changelog for updates. |
| README.md | Documentation about usage and structure. |
| gradle/wrapper/ | Holds the Gradle wrapper binaries and configuration. |
| .gitattributes, .gitignore | Git configuration for line endings and ignored files. |
| build.gradle.j2 | Jinja2 template for generating the mod's build file dynamically. |
| gradle.properties.j2 | Template defining mod metadata and Gradle configuration. |
| gradlew, gradlew.bat | Gradle launcher scripts for Linux/macOS and Windows. |
| LICENSE.txt | Default Forge license template. |
| MainMod.java.j2 | Starter Java file for the modβs entry point. |
| mods.toml, pack.mcmeta | Required Forge and Minecraft metadata. |
| settings.gradle | Basic settings for mods created outside a workspace. |
| versions.json | Defines version-specific properties for Minecraft and Forge. |
This file defines every supported MinecraftβForge version combination, along with their build metadata and Gradle configuration:
{
"1.21.10": {
"forge_version": "60.0.14",
"forge_gradle": "[6.0.36,6.2)",
"java_version": "21",
"reobf": false,
"include_maven_repositories": true,
"eventBus7": true,
"eventBus_version": "7.0-beta.12",
"merge_source_sets": true
}
}Each entry drives the automatic generation of the final build.gradle
and gradle.properties through the Jinja2 rendering process.
To update your local templates, run:
evermod updateThe CLI will:
- Fetch the latest release info from this repository (
manifest.json). - Compare it with your local version (
~/.evermod/version.json). - Show you the changelog.
- Download and replace your local template set automatically.
EverMod is a modular framework and CLI by Wipodev designed to simplify multi-version Minecraft Forge mod development. It enables developers to maintain a single, clean codebase that can compile across different Forge versions without manually adjusting mappings or Gradle configurations.
π Main Project: EverMod Framework
Β© 2025 Wipodev β All rights reserved. The EverMod templates are intended for internal and personal use within the EverMod ecosystem. Redistribution outside of EverMod must retain credit to the author and repository source.