Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Skin Browser
  • Cape Gallery
  • Seed Vault
  • Blog
  • Guides

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

Site & Legal

  • About
  • Authors
  • Editorial Policy
  • Corrections
  • Contact
  • Privacy Policy
  • Terms of Service
  • DMCA
  • Sitemap

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
Project MMO: Iron's Spells & Spellbooks Compat
ModCC-BY-4.0

Project MMO: Iron's Spells & Spellbooks Compat

Adds compatability between Project MMO and Iron's Spells and Spellbooks.

3.1K
Downloads
10
Followers
5 months ago
Updated
📦
4
Versions
game-mechanicsutilityforgeneoforge
Download Latestv1.20.1-1.0.8View on Modrinth

📖About Project MMO: Iron's Spells & Spellbooks Compat

 

This mod requires Project MMO and Iron's Spells and Spellbooks for 1.20.1

About


This compatability mod allows you to add skill requirements to spells using datapacks. If a player doesn't meet the requirements then they can't cast the spell. It allows you to specify requirements on a per spell level basis as well. These requirements can be configured to only apply when casting from scrolls, spellbooks, and/or swords. You can also make it so these requirements prevent players from inscribing the spell into their spellbook entirely.

Additionally there is a config that allows you to award xp to a player when their spell heals another player. This enables healers/priest archetypes to actually be able to level a skill while supporting other players.

 

Guide


The easiest way to start is to load into the world in question and run the command:

/pmmo_irons_compat genSpellData

I know, snake case and camel case in one command, provocative. This will generate a datapack with defaults for every spell that is currently enabled in Iron's Spells and Spellbooks. You can modify this datapack and then delete the JSON files for spells that you did not configure. You can run this command at any time to repopulate the list of spells and it won't affect the JSON files you already have in there.

After running the command and generating the datapack I modified the fireball.json file to look like this:

{
  "requirements": {
    "1": {},
    "2": { "magic":  5}
  },
  "default_requirements": {
    "magic": 10,
    "charisma": 2
  },
  "sources": [
    "scroll",
    "spellbook",
    "sword",
    "inscribe"
  ],
  "replace": true
}

 

The "default_requirements" key will add a requirement to all fireball spell levels. In this case all fireball spell levels will require a magic of level 10 and a charisma of level 2 to cast.

The "requirements" section allows you to set requirements for specific spell levels. In this json the level 1 fireball spell now has no requirement to cast. This will override "default_requirements" for that specific spell level. The level 2 fireball spell has been configured to require level 5 magic to cast. Every other level of fireball would require 10 magic and 2 charisma to cast.

The "sources" section allows you to specify when to apply these requirements and when not to. Right now this would restrict casting fireball spells from scrolls, spellbooks, and swords. It would also not allow you to inscribe the fireball spell into a spellbook unless you meet the requirements. If you would like any spell to be castable from a scroll for example, you could remove "scroll" from the "sources" list and it would no longer be restricted.

The "replace" is there to solve datapack disputes. If there are multiple datapacks with requirements applied to a spell, say fireball, then the datapack with "replace": true will overwrite any that have it set to false. If there are multiple datapacks with "replace": true then it will use whichever was the last loaded datapack.

None of these are required; if you only want to add a requirement to a specific level of a spell then don't include "default_requirements" at all. If you want every spell to have the same requirement, remove "requirements" and only use "default_requirements". If you leave off "sources" then the requirements wouldn't apply to anything. You could just delete the JSON at that point.

 

FAQ


I will not backport this or port it to fabric. I just don't have the time and I will only be playing on 1.20.1+ going forward. You are welcome to do so though!

You can use this mod in any modpacks, but you cannot monetize it in any way or post it to another minecraft site.

 

Huge thanks to Caltinor / Project MMO team for their constant help and access to the project source code. Also thanks to the Iron's Spells and Spellbooks team for allowing me to merge a few PR's to emit events so I didn't have to use any mixins to make this work.

👥 Team & Contributors

Silvertide
SilvertideOwner

⚙️ Compatibility

Environment
✅ Client & Server
Loaders
forgeneoforge
Minecraft Versions
1.20.1

🔗 Links

Modrinth Page