plugins/AdvancedModList/ to define which mods are tracked and how they are classified.
mods.yml
This file connects user-friendly mod names to the identifiers the plugin looks for during a scan. Single identifierWhy multiple identifiers?
The same mod may expose different identifiers depending on:- Mod loader (Fabric, Forge, NeoForge)
- Minecraft version
- Mod version differences
- Bundled configuration library variations
blocked-mods.yml
Lists mods that should be flagged as forbidden. Matching is case-insensitive.- In-game staff notifications
- Discord webhook categorization
- Auto-command group execution (
any-blocked) - PlaceholderAPI results (
%aml_blocked_mods%) - GUI threat displays
relevant-mods.yml
This file is only active whencheck-mode: "RELEVANT" is set. It lists additional mods (beyond blocked ones) that should still be scanned.
Blocked mods are automatically included in RELEVANT mode — you do not need to duplicate them here.
Adding a new mod
1
Find a stable detection identifier
Identify a unique, consistent identifier for the mod. Avoid generic strings that could match unrelated mods.
2
Add to mods.yml
Add the mod name and its identifier(s). Use the multi-entry list format if it varies across loaders or versions.
3
Add to blocked-mods.yml if needed
If the mod should be forbidden, add its name to
blocked-mods.yml.4
Reload
Run
/aml reload to apply changes without restarting.5
Verify
Run
/aml probe <player> and /aml list <player> to confirm detection works.Identifier quality guidelines
Good identifiers should be:- Unique — specific to a single mod
- Consistent — stable across mod releases
- Non-overlapping — avoid strings shared with unrelated mods
- Cross-platform validated — tested against all loaders and versions you support