Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Links
Tags
Creators
Details
Iron's Spellbooks Tweaks
Config tweaks for Iron's Spells 'n Spellbooks. Adds TOML config options that 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). Several open issues on iron431's GitHub ask for more direct control over mana regen rate, starting mana, and cooldowns (#161, #162, #391) that haven't been addressed.
This addon 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
Spell scaling
spellPowerMultiplier: scales the SPELL_POWER attribute on every player, range 0.0 to 10.0. Damage tooltips reflect the scaled value. buffDurationMultiplier: scales buff and debuff durations from Iron's Spellbooks and its addons, range 0.0 to 10.0. Vanilla potions, food effects, and beacon effects are not touched. The active effect countdown in inventory shows the actual time, the spell tooltip shows the unmodified base. buffDurationNamespaces: list of mod namespaces whose effects get scaled by buffDurationMultiplier. Defaults cover Iron's Spellbooks plus Cataclysm Spellbooks, dacxirons, GameTechBC's Spellbooks, GTBC's Geomancy Plus, Hazen 'n Stuff, Illage and Spell-age, and Traveloptics.
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
Summon scaling
summonVexHpMultiplier, summonVexDamageMultiplier: scale HP and damage of summoned vexes raiseDeadHpMultiplier, raiseDeadDamageMultiplier: scale HP and damage of summoned skeletons and zombies from Raise Dead summonPolarBearHpMultiplier, summonPolarBearDamageMultiplier: scale HP and damage of summoned polar bears summonHorseHpMultiplier: scale HP of summoned horses summonSwordsDamageMultiplier: scale damage of Summon Swords
Multipliers stack multiplicatively with any HP/damage scaling other mods apply.
Per-world config overrides (v1.5+)
The global config in config/ is the source of truth. To customize a specific world, drop a copy of the global file into that world's serverconfig/ folder and edit it. Missing keys fall back to global.
The /isstweaks copyconfig command (op-only) copies the global config into the current world's serverconfig/ folder so you can set up overrides in-game. It won't overwrite an existing per-world file.
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
- /isstweaks copyconfig: copy the global config into the current world's serverconfig folder
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 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
License
MIT


