Repository navigation
Datapacks and Tags
Everything RunelessRPG decides from data can be changed with a datapack. Tags are merged with the bundled ones unless
a file sets "replace": true. /reload applies changes; clients get the new tags and costs right away.
Spell tags live in data/<namespace>/tags/spell/ (Spell Engine's spell registry). See
Spell costs for the order in which they are checked.
| Tag | Category | Bundled content |
|---|---|---|
#runelessrpg:cost/spells |
spell | empty (spells with rune costs are found automatically) |
#runelessrpg:cost/class_skills |
class skill | Rogues & Warriors, Archers, Archers Expansion, Bards RPG, Berserker RPG, Forcemaster RPG, lne_archers, lne_rogues
|
#runelessrpg:cost/weapon_skills |
weapon skill | Spell Engine weapon skills (rpg_series:cleave, fan_of_knives, flurry, ground_slam, impale, smash, swift_strikes, swipe, thrust, whirlwind), More RPG Library (mrpg_lib:burstcrack, decapitate, puncture) |
#runelessrpg:cost/item_abilities |
item ability | Relics (relics_rpgs:*), More Relics (more_relics:*) |
#runelessrpg:cost/free |
free | empty |
All bundled entries are written with "required": false, so missing mods do no harm. Follow-up effects of other spells
(explosions, clouds, helper spells) are deliberately not listed: only what the player casts himself can cost mana.
Example: make Fire Breath a class skill and Heal free.
data/runelessrpg/tags/spell/cost/class_skills.json
{
"values": [ { "id": "wizards:fire_breath", "required": false } ]
}data/runelessrpg/tags/spell/cost/free.json
{
"values": [ "paladins:heal" ]
}A spell that is in two category tags uses the first match (item abilities, weapon skills, class skills, spells).
A datapack can give single spells a fixed base cost. It replaces the tier table and the category multiplier and applies even if the spell's category is switched off; player attributes (Mana Cost, Overcharge) still apply.
- Path:
data/<namespace>/runelessrpg/spell_costs/<any name>.json - Format: an object
costswith spell id → base cost (a number ≥ 0)
{
"costs": {
"wizards:fireball": 6,
"wizards:frostbolt": 3.5,
"archers:power_shot": 0
}
}- Files are applied in datapack order; a later pack overrides the value of an earlier one.
- Entries for spells that are not installed are skipped without a message, so one file can cover optional mods.
- Invalid entries (negative values, invalid ids) are skipped with a warning in the log.
- A cost of 0 keeps the spell handled by RunelessRPG (no runes) without costing mana.
Other mod authors can ship such a file with their mod to give their spells a mana cost.
| Tag | Bundled content | Used by |
|---|---|---|
#runelessrpg:enchantable/armor |
#minecraft:enchantable/armor (optional) |
Armor enchantments |
#runelessrpg:enchantable/magic_weapon |
#spell_power:enchantable/haste (optional) |
Spell weapon enchantments, spell weapon affixes (and excluded from the Mana Leech affix) |
| Tag | Bundled content | Used by |
|---|---|---|
#runelessrpg:mana_leech/weapon_damage |
minecraft:player_attack, minecraft:arrow, minecraft:trident
|
Damage types that count for Mana Leech (spell damage in #spell_power:all never does) |
The damage type runelessrpg:mana_backlash (Borrowed Power) is added to #minecraft:bypasses_armor,
#minecraft:bypasses_enchantments and #minecraft:bypasses_cooldown.
| Tag | Bundled content | Used by |
|---|---|---|
#runelessrpg:no_mana_leech |
minecraft:armor_stand |
Entities that never give mana through leech; add training dummies here |
All seven enchantments are in #minecraft:non_treasure, see Enchantments.
| Path | Content |
|---|---|
data/runelessrpg/enchantment/*.json |
The seven enchantments (vanilla format) |
data/runelessrpg/affixes/**/*.json |
The six Apotheosis affixes, only loaded with Apotheosis, see Apotheosis affixes |
data/runelessrpg/damage_type/mana_backlash.json |
Damage type of the Borrowed Power backlash |
config/runelessrpg/spell_costs_report.json lists every spell of the spell registry with its resolved category and
base cost. It is written when the server starts, after every /reload and with /runelessrpg report.
{
"note": "Base costs without player attributes (mana_cost, overcharge). Generated by RunelessRPG.",
"spells": [
{
"id": "wizards:arcane_beam",
"mod": "wizards",
"type": "ACTIVE",
"category": "SPELL",
"source": "RUNE",
"tier": 3,
"cast": "CHANNEL",
"channelTicks": 25,
"baseCost": 10.0,
"baseCostPerTick": 0.4
}
]
}| Field | Meaning |
|---|---|
type |
ACTIVE or PASSIVE
|
category |
NONE, FREE, SPELL, CLASS_SKILL, WEAPON_SKILL, ITEM_ABILITY
|
source |
Where the decision came from: TAG, RUNE (rune cost item), DATAPACK, FREE, NONE
|
cast |
INSTANT, CASTING, CHANNEL, CHARGED, or PASSIVE
|
channelTicks |
Number of channel ticks (0 for other spells) |
baseCost |
Base cost before player attributes |
baseCostPerTick |
Only for channeled spells: base cost per channel tick |
RunelessRPG for NeoForge 1.21.1 · CurseForge · Source · Report a bug
Start
For players
For pack makers
Reference