Permissions - TheComputerGeek2/MagicSpells GitHub Wiki

Command Permissions:

Command permissions are documented on the Commands page.

Mana Ranks:

Mana ranks can be assigned using the permission magicspells.rank.(rank).

OP Permissions:

Permission Default Description
magicspells.noreagents OPs, depending on ops-ignore-reagents in general.yml, which defaults to true. Allows the player to cast without needing reagents (cost).
magicspells.nocooldown OPs, depending on ops-cooldowns in general.yml, which defaults to true. Allows casting without being affected by cooldowns.
magicspells.nocasttime OPs, depending on ops-cast-times in general.yml, which defaults to true. Allows casting without being affected by cast times.
magicspells.notarget false Prevents being targeted by any targeted spells.
magicspells.silent false Prevents cast messages from being broadcast to players (e.g. str-cast-self, str-cast-others, etc.)

Advanced Permissions:

Permission Default Description
magicspells.advanced.list false Documented in ListSpell.
magicspells.advanced.forget false Documented in ForgetSpell.
magicspells.advanced.scroll false Unused
magicspells.advanced.* OPs, depending on default-all-perms-false in general.yml being false, which it is by default. All three permissions from above will added by this parent permission.
magicspells.advanced.spellbook false Documented in SpellbookSpell.
magicspells.advanced.imbue false Documented in ImbueSpell.
magicspells.advanced. + (EnderchestSpell name) false Documented in EnderchestSpell.
magicspells.advanced. + (RecallSpell name) false Documented in RecallSpell.

Spell Permissions:

When it comes to default spells, normal users do not know any spells when they first log in, other than help and list, because they are configured with always-granted: true. OPs have all spells because general.yml generates with ops-have-all-spells set to true.

OPs may teach spells to other players using the /c teach command spell. They can also grant the spells using grant permissions (tempgrant or grant). Spells can also be configured to be auto-granted using always-granted: true or through Helper Spells.

Permission Default Description
magicspells.grant.+(permission-name) false This permission automatically grants the spells to a player without them needing to learn it, even if they don't have the lean permission for it. However, it will only be granted once their spellbook is reloaded using the /ms reload [player] command or by re-logging. The spell will not be removed from their spellbook once the permission is removed either, as you will have to cast a ForgetSpell on them instead. If all of your spells are granted this way, and none are taught, you can make the player forget all spells (*).
magicspells.grant.* false Gives the above permission for all spells.
magicspells.tempgrant.+(permission-name) false This permission is similar to the grant permission, however, the player's spell book does not need to be reloaded, nor do you need to make the player forget the spell, as the player is considered to own the spell while they have this permission for it.
magicspells.tempgrant.* false Gives the above permission for all spells.
magicspells.learn.+(permission-name) Spell Default Players with this permission are allowed to learn the associated spells.
magicspells.learn.* Spell Default Gives the above permission for all spells.
magicspells.cast.+(permission-name) Spell Default Players with this permission are allowed to cast the associated spells.
magicspells.cast.* Spell Default Gives the above permission for all spells.
magicspells.teach.+(permission-name) Spell Default Players with this permission are allowed to teach the associated spells to other players. They will need to learn a TeachSpell in order to utilise it.
magicspells.teach.* Spell Default Gives the above permission for all spells.

Spell Permission Name:

Refers to a spell's permission-name, which defaults to the spell's internal name. Multiple spells can have the same permission-name, meaning one permission could control multiple spells.

Spell Default:

Default permission value depends on default-all-perms-false in general.yml being false, which it is by default. This means that by default, all players are given said permission. You can optionally turn toggle that option off if you want to give out that permission for specific spells, but in most servers you don't need to change this.


Magic without writing Java

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

MagicSpells Icon
⚠️ **GitHub.com Fallback** ⚠️