
Description
Pact Arcana
An addon for Iron's Spells 'n Spellbooks. You do not learn these spells. You are lent them.
Most spell addons add a tenth school and twenty more spells. This one adds a layer underneath: a relationship with a spirit that grows while you live the way it wants, and costs you something the whole time you hold it. Power is not something you farm. It is something you are trusted with.
The four spirits
Ember — Fire
- Wants: the Nether, or lava within 8 blocks
- Costs: mana regeneration stops in water; spell power drops in rain
- Offering: Magma Cream
Thirst — Blood
- Wants: night, or your own health below half
- Costs: natural healing is halved
- Offering: Golden Apple
Hush — Eldritch
- Wants: below Y 0, darkness, or the Deep Dark
- Costs: punished in bright light
- Offering: Echo Shard
Firstlight — Holy
- Wants: daylight
- Costs: weakened at night; blood and eldritch magic denied
- Offering: Glowstone Dust
Constraints ease as trust deepens. Firstlight is the clearest example — at Contract standing blood and eldritch spells are blocked outright, but from Trust onward you can cast them again at half spell power. Every constraint has a way around it; that is the rule they are written to.
Trust
One number, per spirit. It only ever goes down when you break a pact.
- Holding the pact at all — +1 per minute
- Living the way the spirit wants — +2 per minute (replaces the above, not added to it)
- Casting a spell of its school — +1, once every 20 seconds
- Its offering, at the altar — +50, once every 3 in-game days
Standings:
- Contract (0) — the spirit's attribute bonuses
- Trust (150) — stronger bonuses, constraints ease
- Resonance (450) — the spirit's own spell
- Descent (1000) — the spirit inhabits you
You hold one pact to begin with. Reaching Resonance on any spirit opens a second slot, and Descent opens a third — you earn breadth by going deep, not by spreading thin.
Breaking a pact is the only thing that costs trust, and it permanently lowers that spirit's ceiling by 200, down to a floor of 200. There is no way to buy it back. To break one, hold the severance catalyst in your off-hand and right-click the altar with that spirit's sigil.
Getting started
1. Craft a pact altar — obsidian, a mithril ingot, an amethyst block, smooth stone.
2. Craft a spirit sigil — gold nuggets and an amethyst shard. It names no spirit yet.
3. Name the sigil. Hold the blank sigil, put that spirit's offering in your off-hand, and right-click the altar. This works anywhere — no location requirement.
Forgotten which offering is which? Right-click the altar holding a blank sigil with an empty off-hand and it lists every spirit and its offering in chat.
4. Bind. Go where that spirit wants to be, hold the named sigil, put a contract (paper and a gold nugget) in your off-hand, and right-click the altar. The wrong place is refused.
Right-click the altar empty-handed at any time to read your standing.
The contract can be worn in its own Curios slot. Its spells cast from there without filling a hand — and they answer only to the pact that earned them, so handing the contract to someone else gives them nothing.
Resonance spells
Earned at 450 trust, written onto the contract, and obtainable no other way — not from scrolls, not from chests.
- Ember Leap — instant. Chains to three targets, weakening each jump. Kills refund the cooldown; a miss never starts one.
- Hemorrhage — a wound across everything within 8 blocks, worse on those already bleeding, and it feeds you back.
- Erasure — a wave out to 20 blocks. Strips buffs, then silences, blinds, roots and withers for three seconds before detonating.
- Oathlight — a shield and regeneration for everyone within 12 blocks. Costs more mana the more people it covers.
Descent
At 1000 trust the spirit comes into you for five minutes: +50% spell power of its own school, an aura others can see across a field, and a behaviour that is the spirit's alone. Hold two pacts deep enough and you can run two at once — the auras blend into a single colour rather than stacking.
Compatibility
Trust is earned from any mod's spell of the right school — the check is on the school, not on the spell. Constraints likewise apply to every addon's magic, not just Iron's own.
Adding a spirit is data, not code. Drop a JSON into data/<namespace>/pactmagic/spirit/<name>.json and it exists — attributes, constraints, affinities, offering, its own spell. No class to write.
Requirements
- Minecraft 1.20.1 (Forge) or 1.21.1 (NeoForge)
- Iron's Spells 'n Spellbooks — required
- Curios API — required






