Skip to content
JasperLorelai edited this page Jul 27, 2025 · 13 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 from 4.0 Beta 13.

Config:

Option Description
spells List of spells the filter will include, ignoring other spells.
denied-spells List of spells not included in the filter.
spell-tags List of spell tags the filter will include, ignoring other tags.
denied-spell-tags List of spell tags not included.

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 #). Example:

(#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