Any mob in the game can be born cursed. A cursed mob spawns with one of 42 sorcerer AIs — Gojo, Sukuna, Mahoraga, Toji, Mahito, Yuta and more — and fights you with that character's cursed technique, not with a bigger number attached to a zombie.
And the world gets harder the longer you survive.
Requires JujutsuCraft.
Natural Curses
Every newly spawned mob rolls for a cursed technique plus a combat AI. You decide who rolls, and what they can roll into.
chance — base probability per eligible mob, 0.0 to 1.0. Default 0.25. With dynamic difficulty on, it's scaled by the nearest player's score.
targetMode — MONSTERS (default), NON_PASSIVE (monsters plus neutral mobs that fight back), or ALL (every mob, passive animals included).
entityList + listMode — BLACKLIST excludes the listed entities, WHITELIST allows only them. Entries take full IDs (minecraft:zombie) or whole mods (iceandfire).
excludedNamespaces — mods whose mobs never roll. JujutsuCraft mobs and addon sorcerers already have their own kits, and cursing them would overwrite it.JujutsuCraft itself is excluded by default. If you run JujutsuCraft addons, add their namespaces here too — JJSK, for example, is jujutsucrafts. It takes ten seconds with Configured. Don't know an addon's namespace? Type /summon and look up one of its mobs — the part before the : is the namespace. In jujutsucrafts:cursed_spirit_fluke, the namespace is jujutsucrafts.
allowedAis — restrict the pool to the sorcerers you want. Empty means all 42.
Setting targetMode = ALL is allowed. A cursed chicken with a Domain Expansion is exactly as dangerous as it sounds.
Dynamic Difficulty
Every player carries a score from 0 to 100, saved per world. Cursed Mobs reads it to decide how often curses appear and how strong they get.
+0.5 score per minute alive, -10 on death. Gains freeze on Peaceful; the death penalty never does.
Advancements grant one-time boosts, written as advancement_id=points. Out of the box: enter the Nether +10, summon the Wither +10, enter the End +20, kill the dragon +15, full netherite +10. Progress the game and the game notices.
Curse chance scales with score: effectiveChance = chance × lerp(minChanceMultiplier, maxChanceMultiplier, score/100). At score 0 curses are half as common. At 100, twice.
Sorcerer AIs are tiered. The 19 WEAK AIs — Itadori, Megumi, Nobara, Nanami, Maki, Panda — roll from the very start. MID unlocks at score 25: Jogo, Mahito, Geto, Choso, Toji, Todo, Higuruma, Hakari and more. STRONG unlocks at score 60: Gojo, Sukuna, Mahoraga, Yuta, Uraume, Kashimo, Yorozu, Agito.
Both tier lists are editable in game. Decide for yourself whether Gojo is a mid-game problem or an endgame one.
Score is read from the nearest player within 128 blocks of the spawn. No player nearby, no scaling.
Cursed Health
Cursed mobs get bonus max health as a MULTIPLY_TOTAL modifier that persists with the mob, and the bonus follows the same score curve.
baseHealthMultiplier at score 0 — default 1.5.
maxHealthMultiplier at score 100 — default 3.0.
Turn off scaleWithDifficulty for a flat multiplier instead.
Compatibility with difficulty and leveling mods
Cursed Mobs doesn't fight other difficulty systems for control — it reads them. Everything is read through reflection, NBT and attributes, so there is no hard dependency: each integration simply does nothing when the mod isn't installed.
Majrusz's Progressive Difficulty — Expert and Master game stages add score.
L2 Hostility — the player's hostility level adds score, with a configurable factor and cap.
Mob leveling mods (AutoLeveling, RPG Mob Leveling System, Ascendant Mobs, L2 Hostility) — a mob that spawns with a level gets that level added to the score used for its own roll. Higher-level mobs are more likely to be cursed, and with stronger techniques. The roll is delayed by one tick so the leveling mod can go first.
Commands
/cursedmobs set curses a mob on demand. applyOnCommand decides whether it grants the health bonus too.
Configuration
Every option above lives in cursedmobs-server.toml, and every one of them — the tier lists, the AI pool, the advancement boosts — can be edited from inside Minecraft with Configured. No file editing required. Adding a mod to the exclusion list is Add…, type the mod's namespace, Apply.
It's a server config, so it's stored per world and changes apply when you rejoin. If you reopen the config screen before rejoining, it will still show the old values — nothing was lost, the world just hasn't reloaded the file yet. Rejoin and everything you added is there.
Bug reports and feature requests are welcome in the comments.