Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ProfessorFichte/More-RPG-Classes/llms.txt

Use this file to discover all available pages before exploring further.

More RPG Library provides three powerful loot table functions that enable dynamic loot generation with spell pool filtering, conditional items, and cross-mod compatibility.

Specific Spell Scroll from Pools

Generate spell scrolls from specific spell pools with tier filtering and blacklist support.

Function Syntax

{
  "type": "minecraft:item",
  "name": "spell_engine:scroll",
  "functions": [
    {
      "function": "more_rpg_classes:specific_spell_scroll_pool",
      "spell_pools": ["#wizards:frost", "#wizards:fire"],
      "spell_tier_min": 3,
      "spell_tier_max": 4,
      "count": 1,
      "blacklist_spells": ["wizards:frost_blizzard", "wizards:fire_meteor"]
    }
  ]
}

Parameters

spell_pools
string[]
required
Array of spell pool identifiers to select spells from. Use the # prefix for pool tags.Example: ["#wizards:frost", "#wizards:fire", "#paladins:healing"]
spell_tier_min
integer
default:"1"
Minimum spell tier to include. Filters out spells below this tier.Range: 1-4 (depending on your spell system)
spell_tier_max
integer
default:"4"
Maximum spell tier to include. Filters out spells above this tier.Range: 1-4 (depending on your spell system)
count
integer
default:"1"
Number of spell scrolls to generate (typically 1).
blacklist_spells
string[]
default:"[]"
Array of specific spell identifiers to exclude from the loot pool.Example: ["wizards:frost_blizzard", "wizards:fire_meteor"]

Use Cases

Tiered Loot

Create different loot tables for early-game and late-game encounters.
{
  "spell_tier_min": 1,
  "spell_tier_max": 2
}

School-Specific Drops

Make certain enemies drop spells from specific schools.
{
  "spell_pools": ["#wizards:frost"],
  "// comment": "Ice mobs drop frost spells"
}

Balanced Rewards

Blacklist overpowered spells from common loot.
{
  "blacklist_spells": [
    "wizards:meteor",
    "wizards:time_stop"
  ]
}

Boss Loot

High-tier spells from multiple pools for boss drops.
{
  "spell_pools": [
    "#wizards:arcane",
    "#wizards:soul"
  ],
  "spell_tier_min": 3,
  "spell_tier_max": 4
}

Example: Frost Mage Dungeon Chest

{
  "type": "minecraft:chest",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "spell_engine:scroll",
          "weight": 20,
          "functions": [
            {
              "function": "more_rpg_classes:specific_spell_scroll_pool",
              "spell_pools": ["#wizards:frost"],
              "spell_tier_min": 2,
              "spell_tier_max": 3,
              "blacklist_spells": ["wizards:frost_nova"]
            }
          ]
        }
      ]
    }
  ]
}

Bind Spell from Pools

Binds a random spell from specified pools to any item, making it a spell container.

Function Syntax

{
  "type": "minecraft:item",
  "name": "minecraft:diamond_sword",
  "functions": [
    {
      "function": "more_rpg_classes:bind_spell_from_pools",
      "spell_pools": ["#wizards:arcane", "#wizards:frost"],
      "count": 1
    }
  ]
}

Parameters

spell_pools
string[]
required
Array of spell pool identifiers to select spells from.
count
integer
default:"1"
Number of spells to bind to the item. Most items support 1-3 spell slots.

Use Cases

Magic Weapons

Create weapons with built-in spells.Example: A sword that casts fire spells

Spell Staves

Turn any item into a spell-casting focus.Example: Wooden staff with bound frost magic

Hybrid Gear

Melee weapons with mobility or utility spells.Example: Axe with dash ability

Random Artifacts

Procedurally generated magical items.Example: Random spell on legendary drops

Example: Magical Weapon Drops

{
  "type": "minecraft:chest",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "minecraft:diamond_sword",
          "weight": 5,
          "functions": [
            {
              "function": "minecraft:set_name",
              "name": {"text": "Arcane Blade", "color": "aqua"}
            },
            {
              "function": "more_rpg_classes:bind_spell_from_pools",
              "spell_pools": ["#wizards:arcane"],
              "count": 1
            },
            {
              "function": "minecraft:set_attributes",
              "modifiers": [
                {
                  "attribute": "spell_power:arcane",
                  "amount": 5,
                  "operation": "add_value",
                  "slot": "mainhand"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}
Items bound with spells automatically become spell containers. You don’t need to define spell slots separately.

Conditional Item with Fallback

Generates a conditional item if it’s registered, otherwise uses the base item as fallback.

Function Syntax

{
  "type": "minecraft:item",
  "name": "minecraft:diamond",
  "functions": [
    {
      "function": "more_rpg_classes:conditional_item",
      "conditional_item": "your_mod:jade_gem"
    },
    {
      "function": "minecraft:set_count",
      "count": {
        "min": 1,
        "max": 4
      }
    }
  ]
}

Parameters

conditional_item
string
required
The item identifier to use if the item is registered. If not registered, the base item is used.

How It Works

  1. Check if conditional_item is registered in the game
  2. If registered: Replace the base item with the conditional item
  3. If not registered: Keep the original base item
  4. Apply any subsequent loot functions to the final item

Use Cases

Mod Integration

Create loot tables that adapt to installed mods.Example: Use custom gems if available, diamonds otherwise

Optional Content

Reference items from optional dependencies.Example: Modpack-specific items with vanilla fallbacks

Graceful Degradation

Ensure loot tables work even if items are removed.Example: Removed mod items fallback to vanilla

Cross-Mod Compatibility

Support multiple mod ecosystems.Example: Different material systems

Example: Mod-Aware Currency Drop

{
  "type": "minecraft:chest",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "minecraft:emerald",
          "functions": [
            {
              "function": "more_rpg_classes:conditional_item",
              "conditional_item": "currency_mod:gold_coin"
            },
            {
              "function": "minecraft:set_count",
              "count": {
                "min": 5,
                "max": 15
              }
            }
          ]
        }
      ]
    }
  ]
}
Use this function when creating loot tables for modpacks where you want to integrate with other mods but can’t guarantee they’re installed.

Conditional Item Entry Type

A loot pool entry type for conditional items without fallback. The loot table remains functional even if the item isn’t registered.

Entry Syntax

{
  "type": "more_rpg_classes:conditional_item",
  "item": "your_mod:jade_gem",
  "count": {
    "type": "minecraft:uniform",
    "min": 1,
    "max": 3
  }
}

Parameters

item
string
required
The item identifier to conditionally include.
count
object
default:"1"
Standard Minecraft count specification (uniform, constant, binomial).

Difference from Conditional Item Function

FeatureEntry TypeFunction Type
FallbackNone - entry is skippedFalls back to base item
Use CaseBonus loot from optional modsReplace items conditionally
Loot Table SafetyTable works if item missingTable always produces output
Entry WeightCan affect drop chancesNo weight impact

Example: Optional Bonus Drops

{
  "type": "minecraft:chest",
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "minecraft:diamond",
          "weight": 60
        },
        {
          "type": "more_rpg_classes:conditional_item",
          "item": "optional_mod:rare_gem",
          "weight": 40,
          "count": {
            "type": "minecraft:uniform",
            "min": 1,
            "max": 3
          }
        }
      ]
    }
  ]
}
If optional_mod:rare_gem isn’t registered, the pool will only drop diamonds. If it is registered, it has a 40% chance to drop instead.

Best Practices

Pool Organization

Group related spells into tagged pools for easier maintenance.
"spell_pools": [
  "#wizards:frost_basic",
  "#wizards:frost_advanced"
]

Tier Progression

Use tier filtering to create clear progression paths.
  • Early game: Tier 1-2
  • Mid game: Tier 2-3
  • End game: Tier 3-4

Blacklist Strategy

Blacklist specific powerful spells from general loot.Reserve them for special boss drops or quest rewards.

Conditional Safety

Always test loot tables with and without optional mods.Ensure graceful degradation when items are missing.

Combined Example: Complete Dungeon Loot

{
  "type": "minecraft:chest",
  "pools": [
    {
      "rolls": 2,
      "entries": [
        {
          "type": "minecraft:item",
          "name": "spell_engine:scroll",
          "weight": 25,
          "functions": [
            {
              "function": "more_rpg_classes:specific_spell_scroll_pool",
              "spell_pools": ["#wizards:arcane", "#wizards:soul"],
              "spell_tier_min": 2,
              "spell_tier_max": 3,
              "count": 1
            }
          ]
        },
        {
          "type": "minecraft:item",
          "name": "minecraft:diamond_sword",
          "weight": 15,
          "functions": [
            {
              "function": "minecraft:set_name",
              "name": {"text": "Arcane Reaper", "color": "dark_purple"}
            },
            {
              "function": "more_rpg_classes:bind_spell_from_pools",
              "spell_pools": ["#wizards:soul"],
              "count": 1
            }
          ]
        },
        {
          "type": "minecraft:item",
          "name": "minecraft:amethyst_shard",
          "weight": 20,
          "functions": [
            {
              "function": "more_rpg_classes:conditional_item",
              "conditional_item": "mystical_materials:soul_crystal"
            },
            {
              "function": "minecraft:set_count",
              "count": {"min": 2, "max": 6}
            }
          ]
        },
        {
          "type": "more_rpg_classes:conditional_item",
          "item": "rare_drops:legendary_essence",
          "weight": 5,
          "count": 1
        }
      ]
    }
  ]
}
Combine these loot functions with attribute modifiers and enchantments to create truly unique and powerful items that integrate seamlessly with your mod ecosystem.

Build docs developers (and LLMs) love