Iron's Attributes
Add individual attribute requirements for every spell from Iron's Spells 'n Spellbooks!
Features
- Individual Spell Attributes - Each spell has its own unlockable attribute
- Rarity-Based Locking - Lock/unlock entire spell rarities at once (Common, Uncommon, Rare, Epic, Legendary)
- School-Based Locking - Lock/unlock entire spell schools at once (Fire, Ice, Lightning, Holy, Ender, Blood, Evocation, Nature, Eldritch)
- Configurable - Enable/disable locking per spell, per rarity, or per school
- Addon Support - Automatically detects spells from addon mods (Cataclysm Spellbooks, etc.)
- Auto-Generated Reference - Creates a list of all attribute IDs for easy command setup
How It Works
Players must have the appropriate attribute level to cast each spell. Attributes are automatically generated for all spells from Iron's Spells 'n Spellbooks and compatible addon mods.
By default, all spells and rarities are locked (attribute value = 0). Players cannot cast spells until their attributes are set to 1.
School locking is disabled by default and can be enabled in the config.
Usage
Unlocking Spells with Commands
Use vanilla Minecraft's /attribute command to unlock spells for players:
| Command |
Description |
/attribute @p ironsattributes:irons_spellbooks_fireball_unlocked base set 1 |
Unlock Fireball spell for yourself |
/attribute @p ironsattributes:irons_spellbooks_ice_block_unlocked base set 1 |
Unlock Ice Block spell for yourself |
/attribute Steve ironsattributes:irons_spellbooks_heal_unlocked base set 1 |
Unlock Heal spell for player Steve |
/attribute @a ironsattributes:common_rarity_unlocked base set 1 |
Unlock all Common rarity spells for everyone |
/attribute @p ironsattributes:legendary_rarity_unlocked base set 1 |
Unlock all Legendary rarity spells for yourself |
/attribute @p ironsattributes:irons_spellbooks_holy_school_unlocked base set 1 |
Unlock all Holy school spells for yourself |
/attribute @a ironsattributes:irons_spellbooks_fire_school_unlocked base set 1 |
Unlock all Fire school spells for everyone |
Attribute Naming Convention
Spell attributes: ironsattributes:<namespace>_<spell_name>_unlocked
ironsattributes:irons_spellbooks_fireball_unlocked
ironsattributes:irons_spellbooks_lightning_bolt_unlocked
ironsattributes:cataclysm_spellbooks_void_beam_unlocked (addon spells)
Rarity attributes: ironsattributes:<rarity>_rarity_unlocked
ironsattributes:common_rarity_unlocked
ironsattributes:uncommon_rarity_unlocked
ironsattributes:rare_rarity_unlocked
ironsattributes:epic_rarity_unlocked
ironsattributes:legendary_rarity_unlocked
School attributes: ironsattributes:<namespace>_<school>_school_unlocked
ironsattributes:irons_spellbooks_fire_school_unlocked
ironsattributes:irons_spellbooks_ice_school_unlocked
ironsattributes:irons_spellbooks_lightning_school_unlocked
ironsattributes:irons_spellbooks_holy_school_unlocked
ironsattributes:irons_spellbooks_ender_school_unlocked
ironsattributes:irons_spellbooks_blood_school_unlocked
ironsattributes:irons_spellbooks_evocation_school_unlocked
ironsattributes:irons_spellbooks_nature_school_unlocked
ironsattributes:irons_spellbooks_eldritch_school_unlocked
Generated Attributes List
When the mod loads, it automatically generates a file at:
config/ironsattributes/generated_attributes.txt
This file contains all registered attribute IDs for easy reference when setting up commands or permissions.
Configuration
Config files are located at config/ironsattributes/
config.json
{
"globalSpellLocking": true,
"globalRarityLocking": true,
"globalSchoolLocking": false,
"schools": {
"irons_spellbooks:fire": false,
"irons_spellbooks:ice": false,
"irons_spellbooks:lightning": false,
"irons_spellbooks:holy": false,
"irons_spellbooks:ender": false,
"irons_spellbooks:blood": false,
"irons_spellbooks:evocation": false,
"irons_spellbooks:nature": false,
"irons_spellbooks:eldritch": false
},
"rarities": {
"common": true,
"uncommon": true,
"rare": true,
"epic": true,
"legendary": true
},
"spells": {
"irons_spellbooks:fireball": true,
"irons_spellbooks:heal": true
}
}
| Option |
Description |
Default |
globalSpellLocking |
Master toggle for individual spell locking |
true |
globalRarityLocking |
Master toggle for rarity-based locking |
true |
globalSchoolLocking |
Master toggle for school-based locking |
false |
schools.<school_id> |
Enable/disable locking for specific school |
false |
rarities.<rarity> |
Enable/disable locking for specific rarity |
true |
spells.<spell_id> |
Enable/disable locking for specific spell |
true |
Set any value to false to disable locking (spell becomes available to everyone without needing the attribute).
To enable school locking, set globalSchoolLocking to true and set the desired schools to true. When a school is locked, players must have the school attribute set to 1 before they can cast any spell from that school.
Support
If you'd like to support me and the development of my mods, I recommend trying out BisectHosting. Use code "project8gbderam" to get 25% off your first month of a gaming server for new customers.
They offer 24/7 support and lightning-fast response times, ensuring you're in great hands and providing exceptional assistance for all your gaming needs. https://www.bisecthosting.com/project8gbderam
