Iron's Spellbooks Tweaks
Config tweaks for Iron's Spells 'n Spellbooks aimed at modpack makers. Adds TOML config options Iron's doesn't expose.
What it does
Iron's Spellbooks has a small set of config options in its serverconfig (mana regen multiplier, spawn percent, sword toggles). There are open issues on iron431's GitHub asking for more direct control over mana regen rate, starting mana, and cooldowns (#161, #162, #391) that haven't been addressed.
This mod fills those gaps without touching Iron's serverconfig (which has known multiplayer sync bugs per #1033). It uses its own TOML at config/irons_spellbooks_tweaks-server.toml and applies settings via attribute modifiers and hooks on Iron's public events.
Config options
Mana
baseManaRegenPercent: bonus added to MANA_REGEN attribute on login
startingMaxMana: bonus added to MAX_MANA attribute on login
disableManaRegen: fully disables passive mana regen
Spell timing
cooldownReductionBonus: bonus to COOLDOWN_REDUCTION attribute
castTimeReductionBonus: bonus to CAST_TIME_REDUCTION attribute
Restrictions
spellCastingDisabledDimensions: list of dimension IDs where casting is blocked
maxSpellRarity: caps the highest spell rarity players can cast (mob casters bypass)
inscriptionBlacklist: list of spell IDs that cannot be inscribed
Black hole
blackholeImmunity: per-entity-type pull resistance values from 0.0 to 1.0
Per-player progression unlocks
A datapack-driven unlock system lets pack devs gate spells, dimensions, and bonuses behind advancements or boss kills. JSONs go at data/<namespace>/isstweaks/unlocks/<id>.json. Supports advancement and entity_kill triggers.
Available grants:
rarity_cap: raise the player's allowed rarity ceiling above the global maxSpellRarity gate
cooldown_reduction_bonus: flat addition to the player's cooldown reduction attribute
cast_time_reduction_bonus: flat addition to the player's cast time reduction attribute
max_mana_bonus: flat int addition to the player's MAX_MANA attribute
mana_regen_bonus: flat addition to the player's MANA_REGEN attribute
remove_dimensions: exempt the player from the casting dimension blacklist for these dimensions
remove_inscriptions: exempt the player from the inscription blacklist for these spells
If a player gets multiple unlocks that grant the same number bonus, they all add up. Negative values work too if you want to subtract. There's an optional requirement_text field on each unlock JSON for a hint string, which the requirements command shows in chat.
Commands
OP-only:
/isstweaks grant <player> <unlock_id>: manually grant an unlock
/isstweaks revoke <player> <unlock_id>: revoke from the granted set
/isstweaks status <player>: show current progress
/isstweaks reset <player>: wipe all progression data
Open to all players:
/isstweaks requirements spell <spell_id>: shows the unlock requirement for a specific spell. Prefixed with [Unlocked] if the player has already met it.
/isstweaks requirements rarity <rarity>: shows the unlock requirement for a rarity tier. Same [Unlocked] indicator when the player's cap is at or above the queried tier.
Note on overlap with Iron's per-spell configs
Iron's Spellbooks has per-spell JSON configs at config/irons_spellbooks_spell_config/ for tweaking individual spells (max level, mana cost multiplier, cooldown). This mod doesn't touch those. The maxSpellRarity option here is just one rarity gate that applies to every spell at cast time, no per-spell editing needed. It's faster to set up but less precise than per-spell tweaking. Pick whichever fits, or use both together.
For modpack makers
Drop the jar in your pack's mods folder, edit config/irons_spellbooks_tweaks-server.toml, ship the config alongside the pack. All options are server-side so clients don't need matching configs.
Compatibility
- Minecraft 1.20.1 Forge and Minecraft 1.21.1 NeoForge
- Iron's Spells 'n Spellbooks 3.0.0+ (1.20.1) or 1.21.1-3.15.0+ (1.21.1)
- Soft dependency, mod loads cleanly without Iron's Spellbooks present
- No conflicts expected with other Iron's addons
Source
GitHub. MIT licensed.