Skip to content
JasperLorelai edited this page Apr 21, 2026 · 14 revisions

Description:

  • The Spell Filter is used to refer to a group of spells. If the filter is empty, all spells pass it.
  • The reference of spell tags below refers to a general spell option tags which can be a list of strings (e.g. tags: ["Admin"]).
  • All spells have predefined tags (e.g. for .instant.BeamSpell):
    • spell-class:com.nisovin.magicspells.spells.instant.BeamSpell
    • spell-package:com.nisovin.magicspells.spells. + instant/targeted/etc.
    • Since 4.0 Beta 17: magicspells:beneficial - for spells configured with beneficial: true
    • Since 4.0 Beta 17: magicspells:helper-spell - for spells configured with helper-spell: true
  • The filter does not support Expressions.

Config:

Option Description
spells List of allowed spell names.
denied-spells List of denied spell names.
spell-tags List of allowed spell tags (without additional prefixes).
denied-spell-tags List of denied spell tags (without additional prefixes).

Example:

filter:
    spells: [allowed_spell]
    denied-spells: [denied_spell]
    spell-tags: [allowed]
    denied-spell-tags: [denied]
some_spell:
    spell-class: ...
    tags: [denied]

Legacy String:

  • Follows the format: "allowedSpellName,!disallowedSpellName,tag:allowedTag,!tag:disallowedTag" (e.g. fire_multi,!fire_water_mix).
  • Since 4.0 Beta 13, you may use # instead of tag: to denote a tag. E.g. "allowedSpell,!disallowedSpell,#allowedTag,!#disallowedTag".
  • Since 4.0 Beta 14, you may use * for the entire filter to allow all spells, but an empty string filter can achieve the same effect.
  • Since 4.0 Beta 17, you can use the new String Spell Filter format instead.

String:

Note

Since 4.0 Beta 17.

Use * to match all spells, or define a Predicate of individual spell names or a group of spells using their tags (prefixed with #). Since # starts a comment in YML, remember to quote the string when referencing tags.

Example:

filter: "(#water | #earth | #fire | #air) & !(#novice | #advanced | singular_spell)"

Magic without writing Java

This is just some padding so that the header linking experience is better.

MagicSpells Icon

Clone this wiki locally