# Plugins

All plugins are auto-downloaded at container boot via env vars in `docker-compose.yml`. No jars committed to repo.

## Modrinth (auto-DL via `MODRINTH_PROJECTS`)

| Plugin | Modrinth slug | Purpose |
|--------|---------------|---------|
| LuckPerms | `luckperms` | Permissions / groups |
| PlaceholderAPI | `placeholderapi` | Placeholder framework |
| EssentialsX | `essentialsx` | /home, /tpa, /spawn, kits, economy |
| WorldEdit | `worldedit` | In-game terrain editing |
| Simple Voice Chat | `simple-voice-chat` | In-game proximity voice |
| MiniMOTD | `minimotd` | Custom server list MOTD |
| SkinsRestorer | `skinsrestorer` | Custom skins on offline-mode |
| CoreProtect | `coreprotect` | Block/inventory rollback |
| GrimAC | `grimac` | Anti-cheat |
| spark | `spark` | Profiler / TPS / memory |
| DiscordSRV | `discordsrv` | Two-way Discord ↔ chat bridge |
| LandClaimPlugin | `landclaimplugin` | FOSS land claim (replaces paid Lands) |
| TAB | `tab-was-taken` | Tablist / scoreboard / nametags |

`MODRINTH_DOWNLOAD_DEPENDENCIES: required` — also pulls hard deps (e.g. ProtocolLib if a plugin requires it).

## Spigot (auto-DL via `SPIGET_RESOURCES`)

| Plugin | Spigot ID | URL |
|--------|-----------|-----|
| ProtocolLib | 1997 | https://www.spigotmc.org/resources/protocollib.1997/ |
| Vault | 34315 | https://www.spigotmc.org/resources/vault.34315/ |

## Manual install (drop jar in `/opt/docker/minecraft/plugins/`)

These are not on Modrinth/Spiget under stable slugs; download manually and drop the jar in `plugins/`. Set `REMOVE_OLD_MODS: "false"` in compose if you want them to survive restarts (current default removes all jars on boot).

| Plugin | Source | Notes |
|--------|--------|-------|
| LoginSecurity | https://www.spigotmc.org/resources/loginsecurity.19362/ | Required for cracked servers (offline mode) |
| ComfyWhitelist | Hangar / GH (search "ComfyWhitelist") | Whitelist UX |
| MarriageMaster | https://www.spigotmc.org/resources/marriagemaster.19273/ | Player marriage system |
| PhantomSMP | https://www.spigotmc.org/resources/phantomsmp.59996/ | Phantom spawn rebalance |
| HelpCommand | Spigot resource | Custom /help |
| ProAntiTab | https://www.spigotmc.org/resources/proantitab.59141/ | Tab-completion filter |

## Removed / replaced

| Plugin | Status | Reason |
|--------|--------|--------|
| Lands | **Removed** | Paid (BuiltByBit). Replaced by LandClaimPlugin. See [migrations/lands-to-landclaim.md](migrations/lands-to-landclaim.md). |
| LitePlaytimeRewards | **Removed** | Dead upstream (last release 2021), no maintained source. |
| CosmicGuard | **Removed** | Premium continuous build, can't auto-fetch. GrimAC covers anti-cheat. |

## Adding a plugin

1. Find Modrinth slug (URL `modrinth.com/plugin/<slug>`).
2. Append to `MODRINTH_PROJECTS` block in `docker-compose.yml`.
3. `docker compose down && docker compose up -d`.

Or for Spigot: add ID to `SPIGET_RESOURCES: "1997,34315,<NEW_ID>"`.

## Pinning versions

Defaults pull *latest*. To pin, use slug form `<slug>:<version-id>` for Modrinth or `<id>:<version>` for Spiget. See https://docker-minecraft-server.readthedocs.io/en/latest/mods-and-plugins/.
