Repository navigation
Spell Costs
RunelessRPG decides for every spell whether it costs mana and how much. Spells it does not handle keep Spell Engine's own costs (runes or other items).

Only active spells that a player casts can cost mana. Passive spells, triggered effects and spells cast by summons (for example the Fire Hydra's fireballs) never cost anything.
Each spell gets a category. The first rule that matches decides:
| Order | Rule | Result |
|---|---|---|
| 1 | Not an active spell | not handled (Spell Engine costs apply) |
| 2 | In #runelessrpg:cost/free
|
free: no mana, no runes |
| 3 | Has a value from a datapack | that value, always (even if its category is switched off) |
| 4 | In #runelessrpg:cost/item_abilities
|
item ability |
| 5 | In #runelessrpg:cost/weapon_skills
|
weapon skill |
| 6 | In #runelessrpg:cost/class_skills
|
class skill |
| 7 | In #runelessrpg:cost/spells
|
spell |
| 8 | Its Spell Engine cost item is a rune (an item in #runes:runes, or a tag that contains runes) |
spell |
| 9 | Anything else | not handled |
A category that is switched off in the config (spellsEnabled = false and so on) is not handled: Spell Engine asks
for runes again. To make a spell free, put it into #runelessrpg:cost/free instead.
The bundled tags list the class skills of Rogues & Warriors, Archers (and Archers Expansion), Bards RPG, Berserker
RPG, Forcemaster RPG and the lne_* add-ons, the weapon skills of Spell Engine (rpg_series:*) and More RPG Library,
and the item abilities of Relics and More Relics. All entries are optional; see
Datapacks and tags.
Every Spell Engine spell has a tier. The base cost is the value of the tier table times the multiplier of the category:
| Tier | Table (tierCosts) |
Spells (×1.0) | Class skills (×0.75) | Weapon skills (×0.5) |
|---|---|---|---|---|
| 0 | 4 | 4 | 3 | 2 |
| 1 | 5 | 5 | 3.75 | 2.5 |
| 2 | 7 | 7 | 5.25 | 3.5 |
| 3 | 10 | 10 | 7.5 | 5 |
| 4 | 14 | 14 | 10.5 | 7 |
| 5 and higher | 18 | 18 | 13.5 | 9 |
Higher tiers use the last value of the table, negative tiers the first. Item abilities are off by default (multiplier 1.0 when switched on). A datapack value replaces table and multiplier.
/runelessrpg report writes all spells with category, tier and base cost to a file; /runelessrpg cost <spell> shows
the full calculation for one spell. See Commands.
cost = base cost × max(floor, Mana Cost) × (1 + Overcharge)
-
Mana Cost (
runelessrpg:mana_cost, 100 % by default) makes spells cheaper or more expensive. It has a lower limit, the floorminManaCostPercent(default 50 %): spells never cost less than half, however much Mana Cost reduction a player stacks. There is no upper limit. - Overcharge is added after the floor; it also raises damage and healing, see Overcharge and leech.
- Other mods and scripts can change the result with the ManaCostEvent.
Example: Fireball (tier 0, base 4) with −30 % Mana Cost and +25 % Overcharge costs 4 × 0.7 × 1.25 = 3.5.
Costs are shown with up to two decimals ("5.25", "7.5", "4").
What happens depends on manaMode in the server config:
| Mode | Cast allowed when |
|---|---|
FULL_COST (default) |
the mana covers the whole cost |
DEBT |
the mana is above 0; the rest of the cost goes below 0 |
DEBT_LIMIT |
after the cast the mana is not lower than −(maxDebtPercent % of this spell's cost), default 50 % |
Borrowed Power allows debt down to −50 % of max mana in every mode; if the mode itself allows more, the more generous rule applies.
When a spell cannot be paid, it is not cast. Spell Engine shows its usual "missing item" message with Mana as the missing item, and the mana display flashes red (see Mana HUD). The check runs on the client and on the server, so nothing is cast and then taken back.
Spell Engine charges channeled spells (Arcane Beam, Blizzard, Whirlwind …) once at the end. RunelessRPG has three
modes (channelCostMode):
| Mode | Behavior |
|---|---|
DRAIN (default) |
The cost is spread over the channel ticks: every tick costs total ÷ number of ticks. Stopping early is cheaper. A channel can start when the first tick (plus channelStartPercent) can be paid; when the mana runs out, the channel ends like releasing the key (with its cooldown) and the bar flashes |
START |
The full cost is paid when the channel starts; no further checks for that cast |
END |
Spell Engine's way: paid once when the channel ends; the full cost must be available |
-
channelStartPercent(default 0): inDRAIN, this share of the total cost is paid right away when the channel starts. - The number of channel ticks comes from the spell. Cast speed (haste) makes the channel shorter, not cheaper: the number of ticks stays the same.
- The tooltip shows the total and the cost per second in
DRAIN: "Mana: 10 (2/s)". -
Interrupting a channel (switching the item, starting another spell, dying, logging out) normally skips Spell
Engine's cooldown. With
cooldownOnChannelAbort = true(default) the spell gets the cooldown it would have had when released at that moment.
- Spells handled by RunelessRPG never consume runes, even if the player carries some. The rune line disappears from the tooltip.
- Other cost items stay: bow skills that use arrows still consume their arrows and also cost mana.
- Free spells (
#runelessrpg:cost/free) cost neither mana nor runes.
With creativeFreeCasting = true (default) players in creative mode cast without paying and are never blocked. With
false they pay like everyone else.
Spell Engine's enchantment spell_engine:spell_infinity only removes rune costs, which would do nothing here.
RunelessRPG gives it a mana effect instead ([spell_infinity] in the server config):
mode |
Effect while the held item (main hand) has Spell Infinity |
|---|---|
REDUCE_COST (default) |
Counts as costReductionPercent (20) % less Mana Cost and lowers the floor by floorReductionPercent (20) points: alone −20 %, with everything else at most −70 % (floor 30 %) |
NONE |
No effect on mana costs |
Its enchantment description is changed to "Reduces the mana cost of spells" by a small built-in resource pack. To
remove the enchantment from a pack, empty the item tag #spell_engine:enchantable/spell_infinity.
Every spell that costs mana gets a line "Mana: N" in its tooltip (green when the player can pay it right now, red when not), with the cost that applies to this player. With Overcharge a second line follows ("Overcharge: +12.5% damage", "healing" or "damage and healing"), and Spell Engine's damage and healing estimate grows with it. Spell Engine shows these details while its "show details" key (Left Alt) is held.
RunelessRPG for NeoForge 1.21.1 · CurseForge · Source · Report a bug
Start
For players
For pack makers
Reference