Skip to content

Building from Source

github-actions[bot] edited this page Oct 24, 2026 · 4 revisions

Building from Source

The mod's source is at github.com/yuvalkolodkingal/enhanced. It is a NeoForge 1.21.1 mod written in Java 21, built with Gradle.

All the heroes in one roster

What you need

  • Java 21 (a JDK).
  • Git, to clone the repository.
  • Nothing else: the Gradle wrapper (./gradlew) downloads Gradle, NeoForge and the Minecraft mappings the first time.

Build and run

git clone https://github.com/yuvalkolodkingal/enhanced.git
cd enhanced

./gradlew build              # the mod jar ends up in build/libs/
./gradlew runClient          # play in a development client
./gradlew runGameTestServer  # run the automated in-game tests

To install your build, copy build/libs/enhanced-<version>.jar into the mods folder of a NeoForge 1.21.1 instance (see Installation).

The GameTests (./gradlew runGameTestServer) start a server, run the mod's in-game tests (every hero, the Hex, the Witches' Road, the data files and so on) and exit with an error if a required test fails (1,559 of them in 3.2). Delete run/world and run/config/enhanced-server.toml before a run: a server file generated by an older version keeps its old defaults and fails the tests of the new numbers.

Releases

GitHub Actions (.github/workflows/build.yml) runs the same build and the GameTests on every push and pull request, and publishes a release for every push to main (or a v* tag). The jar of the newest build is the one marked Latest on the Releases page.

Since 3.8.4 Sweet Dreams (Are Made of This) is no longer built into the jar; a player can put their own copy in config/enhanced/music/ (see Music).

Where things are

Path What it holds
src/main/java/com/kolodkingal/enhanced/ The mod: abilities, items, blocks, entities, the client code, the commands and the server config (EnhancedConfig.java).
src/main/resources/ Textures, models, sounds, language files (lang/en_us.json, lang/he_il.json), recipes, loot modifiers and tags.
src/gametest/java/ The in-game tests. They never end up in the mod jar.
docs/DESIGN.md, docs/DESIGN.he.md The full design, in English and in Hebrew, with every rule and number.
docs/wiki/ The source of this wiki.
docs/screenshots/ The screenshots used by the README and this wiki.

Editing this wiki

This wiki is not edited on GitHub. Its pages are Markdown files in docs/wiki/ in the repository, and the Publish the wiki GitHub Action (.github/workflows/wiki.yml) copies them to the wiki. Edit the files there and open a pull request or push to main. Anything changed on the wiki itself is overwritten by the next publish.

  • File name = page name, with the words joined by hyphens: docs/wiki/Becoming-a-Hero.md is the page Becoming a Hero. Link to another page as [Text](Page-Name), without .md.
  • Hebrew pages have the same name with -HE at the end (Thor-HE.md) and are wrapped in <div dir="rtl">.
  • Screenshots are the PNG files in docs/screenshots/. Use them as ![Text](images/<file>.png): the Action copies them to images/ in the wiki.
  • _Sidebar.md and _Footer.md are the wiki's sidebar and footer.
  • The Action runs on every push to main that changes docs/wiki/, docs/screenshots/ or the workflow file, and it can be run by hand from the Actions tab (Publish the wiki, Run workflow).

Setting the wiki up (once)

GitHub creates a wiki's git repository only when its first page exists. So, once:

  1. In the repository's Settings, General, Features, tick Wikis.
  2. Open the Wiki tab and press Create the first page. Save it with any text: the Action replaces it.
  3. Run the Publish the wiki workflow, or push a change to docs/wiki/.

If the Action fails with "Could not clone the wiki", one of the two steps above is missing. Wikis of private repositories need a GitHub Pro, Team or Enterprise plan.

Enhanced

Heroes

The Avengers

Eternity

Asgard

The Infinity Stones

Places

Reference

עברית: Enhanced

הגיבורים

הנוקמים

הנצח

אסגרד

אבני האינסוף

מקומות

מידע

Clone this wiki locally