
Mortal Boons adds a rogue-like boon mechanic to Minecraft. Pay experience levels and item offerings at the Fatestone to roll a random boon: attribute bonuses like health, speed, or attack damage, each at a random tier. You can hold up to three at once. However, when you die, you lose them all. Roll the dice to get powerful perks, then make sure you hang onto them.
Almost everything about this mod is configurable via configs or datapacks. Change it to fit your needs. There is a default vanilla datapack included for you to jump in and start using.
Visit the website for more info, to help you build datapacks or json files for this mod, or to see some of my other mods.
Why Mortal Boons
Most progression is permanent. Once you have the gear, the enchants, the effects, dying is an inconvenience. Mortal Boons adds a layer of power that is genuinely at stake. You invest experience and items, gain strength, and then try to hold on to it. It fits any pack where death should mean something, and the configs let you tune how harsh that is.
Here's a quick rundown of how to use and upgrade the Fatestone. For more specifics keep reading below.
Craft the Fatestone
Everything happens at the Fatestone. Craft it with deepslate bricks, gold ingots, and an eye of ender.

Place it down and right click it to open the menu. A fresh Fatestone has one boon slot.

Empower it
The Fatestone has three power levels, and each level grants another boon slot. Power comes from its surroundings:
- Place lit candles on its back and both sides (leave the front open) for +1 power.
- Place it directly on top of a beacon for +1 power.
The two are independent. Candles alone or a beacon alone gets you power 2, and both together get you power 3. At power 2 the stone begins to wake.

At power 3 its eyes open and it gives off light.

Power also gates the deeper actions. By default rerolling unlocks at power 2 and reforging at power 3. Breaking the setup never removes boons you already hold, it just locks the slots and actions until you restore it.
Tempt Fate
Open the menu, put an offering in the slot, and hit Tempt Fate. Each roll costs experience levels and the offering item. The button tells you exactly why you can't roll if something is missing.

Hover the empty offering slot to see what items the Fatestone accepts.

The roll picks a tier first (Iron, Gold, Diamond, or Netherite), then a boon from that tier. Your offering shapes the odds (these offerings are what comes in the default vanilla pack):
- Iron ingot: a plain gift, fate decides alone.
- Gold ingot: doubles the chance of a Gold tier roll.
- Diamond: 1.5x the chance of a Diamond tier roll.
- Honeycomb, phantom membrane, rabbit's foot, blaze powder, ender pearl: each triples the chance of boons from one of the five signs.
Nothing sways Netherite. The best rolls are always pure luck.
Boons and the five signs
Every boon is an attribute bonus that scales with its tier, shown as a card in the menu. The card shows the boon's icon, name, sign, and what it actually gives you at its rolled tier.

Hover a card for the full details and a bit of flavor.

The mod ships with 19 boons across five signs:
- The Bear: endurance. Health, armor, toughness, knockback resistance.
- The Wolf: violence. Attack damage, attack speed, knockback, sweeping.
- The Hare: speed. Movement speed, jumping, safe falling, rough terrain.
- The Wyrm: fire, stone and deep water. Burn resistance, blast resistance, oxygen, mining.
- The Raven: sight and fortune. Reach, sneak speed, luck.
Some boons only appear at higher tiers. Fortune's Eye only answers to Diamond and Netherite.

Reroll, Reforge, Forsake
Hover a held boon's card to see its actions. Each one costs experience, and the cost goes up the more you use it.

- Reroll: trade the boon for a different one at a newly rolled tier. Unlocks at power 2 while holding 2 boons.
- Reforge: reroll just the tier. It can fall as easily as it rises. Unlocks at power 3 while holding 3 boons.
- Forsake: cast the boon away and leave the slot empty. Off by default, enable it in the config.
All actions share one cooldown that scales with how many boons you hold (10, 20, or 30 minutes by default). Buttons gray out when you can't afford an action or the stone is still cooling down, and the tooltip tells you why.
<center></center>

Death
Death wipes every boon you hold. That is the core of the mod: boons make you powerful, but the power is never really yours. Your escalating roll costs reset on death too, so climbing back up is cheaper than it was on the way down. The cooldown survives death, you cannot die your way out of waiting.
Configs
Everything lives in mortal_boons-common.toml, editable in game through the mod config screen.
| Category | Knobs |
|---|---|
| Roll costs | base XP cost, added cost per roll, max cost |
| Reroll / Reforge / Forsake costs | base, per use, and max for each, plus an option to share the reroll and reforge counters |
| Cooldowns | minutes with 1, 2, and 3 boons held |
| Action gating | allow reroll / reforge / forsake, required Fatestone power and held boons for each |
| Offerings | required, optional, or disabled entirely |
| Tier odds | weights for Iron, Gold, Diamond, Netherite |
There is also a client option to hide the sign names on cards.
Datapacks
Boons, signs, and offerings are all datapack JSON. Names, descriptions, colors, weights, tier gating, and offering effects live in data files, so you can retune or replace everything without touching code or shipping a resource pack.
The built in content ships as a removable datapack called "Mortal Boons Default Boons". Disable it and you have a blank slate to build your own set on.
A note on per-tier lists: anywhere a number is accepted, you can give either a single value (used for every tier) or a list of 4 values indexed from Iron to Netherite.
Adding boons
Boons go in data/<your_namespace>/mortal_boons/boons/<boon_name>.json. Here is Springstep from the default pack:
{
"weight": 10,
"types": ["mortal_boons:hare"],
"icon": "minecraft:textures/item/rabbit_foot.png",
"name": "Springstep",
"description": "Up comes easy. Down comes kind.",
"attribute_grants": [
{
"attribute": "minecraft:generic.jump_strength",
"amount": [0.2, 0.35, 0.5, 0.7],
"operation": "add_value"
},
{
"attribute": "minecraft:generic.safe_fall_distance",
"amount": [1.0, 1.0, 2.0, 3.0],
"operation": "add_value"
}
]
}
weightcontrols how likely the boon is once its tier is rolled. Use a list to gate tiers:[0, 0, 10, 10]means the boon only exists at Diamond and Netherite. Higher numbers are more common.typeslists the signs the boon belongs to.iconis any texture path, or a list of 4 for a different icon per tier.nameanddescriptionshow on the card and its tooltip. Both are optional. Without a name the mod falls back to the lang keyboon.<namespace>.<boon_name>.attribute_grantsis the actual effect: any attribute, a flat or percentageoperation(add_value,add_multiplied_base,add_multiplied_total), and an amount per tier.
If you have Player Abilities installed, boons can also grant active, passive, and triggered abilities:
"ability_grants": [
{ "ability": "your_mod:some_ability", "level": [1, 1, 2, 3] }
]
Boons that only grant abilities are automatically removed from the pool when Player Abilities is not installed.
Adding signs
Signs go in data/<your_namespace>/mortal_boons/boon_types/<sign_name>.json and are just a title and a color:
{
"title": "The Hare",
"color": "#3E7C44"
}
The title shows on cards under the boon name, in the sign's color.
Adding offerings
Offerings go in data/<your_namespace>/mortal_boons/offerings/<offering_name>.json. Here is one that triples Hare boons:
{
"item": { "item": "minecraft:rabbit_foot" },
"count": 1,
"type_weight_multiplier": { "mortal_boons:hare": 3.0 },
"description": "Draws the eye of The Hare."
}
And one that sways the tier roll instead:
{
"item": { "item": "minecraft:gold_ingot" },
"count": 1,
"tier_weight_multiplier": [1.0, 2.0, 1.0, 1.0],
"description": "Favors a Gold turn of fate."
}
itemaccepts an item or a tag ({ "tag": "c:gems/diamond" }), andcountis how many are consumed per roll.tier_weight_multipliermultiplies the tier odds. A 0 removes that tier from the roll entirely.type_weight_multipliermultiplies the odds of boons belonging to those signs.min_tiersets a floor on the tier roll, for a big-ticket offering that promises Diamond or better.descriptionshows in the tooltip. Leave it out and the mod auto-describes what the offering does.
If an offering's demands can't be met (for example a min_tier you have no boons left for), the roll refuses and nothing is consumed.
Commands
For server admins and debugging:
/mortalboons list - list your held boons and tiers
/mortalboons clear - wipe your boons and reset the cooldown
