tsgrissom / MagicScan

Scans Magic configurations for potential issues

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MagicScan

Build Status

Scans configurations for potential issues and provides deeper analytics for NathanWolf's Magic plugin to ensure you have the cleanest, working-as-intended setup as possible.

Commands

To do

Permissions

To do

Configuration

There are several configuration options available for MagicScan. See here for the default config.yml with examples.

Each rule can be configured, enabled/disabled, etc. from the rules.yml

Key Type Description
scan_on_start boolean Whether or not the plugin should initiate a scan when the server starts.
scan_hidden boolean Whether or not the plugin should scan hidden things.
verbose boolean Whether or not the plugin should log loading messages.
inactive_scan_timeout integer How long after creating a scan, in ticks, it should automatically be removed.
interval integer How many ticks to wait between displaying text elements.
default_rule_types string list Which RuleTypes should be scanned by default.

Messages

A lot of MagicScan messages are configurable via the messages.yml.

Rules

Spell

Key Class Description
actions SpellActionsRule Checks if the spell has any parameters that cannot be matched to an action it uses.
category SpellCategoryRule Checks if the spell has a valid spell category.
cooldown SpellCooldownRule Checks if the spell has a cooldown greater than zero.
description SpellDescriptionRule Checks if the spell has a description.
icon SpellIconRule Checks if the spell has a primary icon.
icon_disabled SpellIconDisabledRule Checks if the spell has a disabled icon.
key SpellKeyRule Checks if the spell has an underscore, caps, or numbers besides denoting levels.
levels SpellLevelsRule Checks if the spell has leveling/progression.
mana_match_path SpellManaMatchPathRule Checks if the spell has casting/active mana costs.
mana SpellManaRule Checks if the spell has casting/active mana costs.
name SpellNameRule Checks if Magic's messages.defaults.yml file contains a name entry for the spell.
path SpellPathRule Checks if the spell is contained in a path as a regular, required, or extra spell.
upgrade_description SpellUpgradeDescriptionRule Checks if Magic's messages.defaults.yml file contains an upgrade_description entry for each leveled variant of a spell.

Tags

MagicScan recognizes a couple of tags that can be attached to spells to manipulate or bypass rule behaviour on a per-spell basis. For example:

In your spells.yml

spellkey:
  tags: noprogression

The above will not flag the SpellLevelsRule despite not having a second level.

The other tag offered so far is default. It is intended for spells that don't appear in a path (like those that appear on base wands by default) so that they can bypass failing a SpellPathRule check.