Soulrend: The Past
An add-on for the Soulrend modpack that turns The Graveyard's Past dimension into an endless, undead battlefield, and adds the Emblem of the Past to get there.
"Many thought they could end the war. Many perished."
Soulrend: The Past is a Forge 1.20.1 mod by Apotheotic Studios. It started as a set of KubeJS scripts and datapacks and was moved into a real mod so that it loads faster, is configurable through plain JSON, and can be updated on its own. It is built for Soulrend, but it works in any Forge 1.20.1 pack that has The Graveyard.
What it does
The Emblem of the Past
- Right-click the Emblem to be cast into the Past at the same X/Z, dropped from a configurable height (default Y=200) with Slow Falling (default 30 seconds).
- A short cooldown (default 5 seconds) prevents spamming. Using it while already in the Past is refused.
- Recipe (shaped, 3x3):
- 4x Astral Ingot (
astral_calamity_extras:astral_ingot) in the corners - 4x Nightmare Ingot (
astral_calamity_extras:nightmare_ingot) on the edges - 1x Ancient Material (
apotheosis:ancient_material) in the centre
- 4x Astral Ingot (
- Found in the Tools & Utilities creative tab.
- Worlds from the old KubeJS version are migrated automatically (
kubejs:emblem_of_the_pastbecomessoulrend_past:emblem_of_the_past).
The Dimension
The Past (graveyard:past) is reshaped by this mod:
- Three biomes: Dead Wasteland, Dead River and Dead Ocean.
- Permanent night, no skylight, Nether-style sky effects, 384 blocks of height (Y -64 to 320).
- Beds and respawn anchors do not work, and raids are enabled.
- Structures restricted to fit the theme:
- Ancient Church and Gate of Disaster (Nightfall: Invade) generate in the Dead Wasteland.
- Tree of Light (Souls-Like Bosses) generates in the Dead Ocean.
Soldiers
Vanilla undead that spawn in the Past are replaced with named, armed and armored soldiers, picked from weighted pools:
- Rotten (from Zombies and Zombie Villagers): Rotten Soldier, Knight, Guard, Champion, Giant, and the very rare ! Rotten Titan !
- Emaciated (from Skeletons): fast, hard-hitting Pikeman, Spearman and Noble
- Decaying King (from Wither Skeletons): a 6,000 HP, 5x size king that drops Esoteric Material (50% by default)
Each soldier has its own weapon, offhand, armor set, size, health, damage and speed. All soldiers are immune to knockback.
Spawns are throttled so the battlefield stays fair:
- No soldiers spawn within 96 blocks of a boss.
- Only one Decaying King within 256 blocks of another.
- No more than 3 soldiers within 24 blocks of each other.
Bosses
Nightfall: Invade and Souls-Like Bosses bosses that appear in the Past are renamed and given 12,000 HP and 2,000 damage:
- Arterius, The Last Watcher
- Ó Brolacháin, The Scarlet Hunter
- The Nightlord
Dragons
Untamed Ice and Fire dragons are turned into weighted "Elden" variants. Each gets matching dragon armor, a random age in a set range, and a death stage:
- Elden Beast (50%): iron armor
- Elden Soldier's Mount (30%): gold / silver / copper armor depending on dragon type
- Elden Prince's Mount (15%): diamond armor
- Elden Watcher's Mount (5%): dragonsteel armor
Mob levels and bans
- With Auto Leveling installed, every levelled mob in the Past is forced to level 1000. The Elden dragons are exempt and keep their own level.
- Some spawns (certain fish, chickens, Quark's Forgotten) and items (wheat seeds) are removed from the Past so they do not clutter the battlefield.
Requirements
- Minecraft 1.20.1
- Forge 47.x or newer 1.20.1 builds
- The Graveyard (required, provides the Past dimension)
The recipe uses Astral Calamity Extras and Apotheosis items. Without them the Emblem cannot be crafted, though it can still be given by command or added by another recipe.
Optional
All of these are detected at runtime. Nothing breaks if they are missing, but the matching feature is skipped.
- Pehkui: soldier size scaling
- Auto Leveling: forced mob level
- Nightfall: Invade: boss renames and the Ancient Church and Gate of Disaster structures
- Souls-Like Bosses: The Nightlord and the Tree of Light structure
- Ice and Fire: dragon variants
- Epic Fight Nova, Dungeons and Combat, Souls Weapons, Cataclysm, Fantasy Armor, Epic Knights: Ice and Fire, Weapons of Miracle: the default soldier gear. Unknown items are skipped and logged at debug level.
Configuration
Everything is JSON in the mod's data folder, so no config screen or restart is needed. Edit the files, then run /reload.
The files live at data/soulrend_past/soulrend_past/:
settings.json: general rules. Ban lists, king and boss spacing, king drop and chance, forced mob level, and the Emblem's drop height, Slow Falling time and cooldown (emblem.drop_height,emblem.slow_falling_ticks,emblem.cooldown_ticks).soldiers.json: which vanilla mobs become which soldier pool, and the pools themselves (name, color, weapon, offhand, armor prefix, size, health, damage, speed, weight, optional attack speed).bosses.json: the shared boss health and damage, plus each boss's name and color.dragons.json: armor materials per dragon type, and the weighted variants (name, color, armor tier, weight, age range in ticks).
To override the defaults without editing the jar, supply a datapack (for example through Paxi) with files at the same paths. Each file loads independently, so a broken file only disables its own section and logs an error. Set "debug": true in settings.json to log unexpected entities spawning in the Past.
Tips
armorinsoldiers.jsonis a prefix. The mod adds_helmet,_chestplate,_leggingsand_boots.colortakes a Minecraft color name (gray,red…) or a#rrggbbhex value.weightis relative, not a percentage.- Set
mob_levelto0to leave Auto Leveling alone.
For developers
Project layout
soulrend_past/
├── build.gradle, gradle.properties, settings.gradle Gradle (ForgeGradle 6) setup and mod metadata
└── src/main/
├── java/net/apotheoticstudios/soulrend_past/
│ ├── SoulrendPast.java Mod entry point, item registration, event wiring
│ ├── EmblemOfThePastItem.java The teleport item
│ ├── PastSpawnHandler.java Soldier, boss and dragon rewrites, bans, spawn throttling
│ ├── PastLevelHandler.java Forces the Auto Leveling level
│ ├── PastDeathHandler.java Decaying King drops
│ ├── LegacyRemap.java Migrates the old KubeJS emblem
│ ├── config/ PastConfig (codecs) and PastConfigLoader (reload listener)
│ └── compat/ Optional Pehkui and Auto Leveling hooks
└── resources/
├── META-INF/mods.toml Dependencies and load order
├── assets/soulrend_past/ Lang, item model, emblem texture
└── data/
├── soulrend_past/ Emblem recipe and the four config JSONs
├── graveyard/ Overrides for the Past dimension and dimension type
├── soulrend/worldgen/ Dead Wasteland, Dead River and Dead Ocean biomes
├── nightfall_invade/ Ancient Church and Gate of Disaster placement
└── souls_like_bosses/ Tree of Light placement
Building
Requires JDK 17.
./gradlew build
The reobfuscated jar is written to build/libs/ and copied into the instance's mods/ folder, replacing any older soulrend_past-*.jar. Use ./gradlew runClient or ./gradlew runServer for a dev environment. Auto Leveling is not on a Maven, so the build compiles against the AutoLeveling-*.jar in the instance's mods/ folder.
Publishing to CurseForge
CURSEFORGE_TOKEN=your-token ./gradlew publishCurseForge
This builds the jar and uploads it to the project set by curseforge_project_id in gradle.properties, as a curseforge_release_type file (default release). Release notes come from CHANGELOG.md in this folder if it exists. Bump mod_version first.
Never commit the API token. Pass it as the CURSEFORGE_TOKEN environment variable, or put curseforge_token=... in your user-level ~/.gradle/gradle.properties, which is outside the repo. Get a token at https://legacy.curseforge.com/account/api-tokens.
The build uses CurseForgeGradle 1.1.28 because newer versions need Gradle running on Java 25, and ForgeGradle 6 runs on Java 17.
How the data overrides work
The mod loads after The Graveyard, Nightfall: Invade and Souls-Like Bosses (see mods.toml), so its dimension, biome and structure JSON replace theirs. It also loads after Auto Leveling and Soulrend Core so the forced mob level wins.
Credits and license
- Made by Apotheotic Studios for the Soulrend modpack.
- The Past dimension is from The Graveyard. Bosses, structures, weapons and armor come from the mods listed above and belong to their authors. This mod only reconfigures them and does not redistribute their assets.
- License: All Rights Reserved.
FAQ
Can I use this without Soulrend? Yes, on Forge 1.20.1 with The Graveyard. Most of the soldier gear comes from other mods, so you will want those too, or you can swap the items in soldiers.json.
The Emblem won't craft. You need Astral Calamity Extras and Apotheosis installed.
Can I make the Past easier or harder? Yes. Edit health and damage in bosses.json, soldier stats in soldiers.json, or mob_level in settings.json.
Does it work on servers? Yes. Install it on the server. Clients need it too, because it adds an item.

