# Mira: Overview

Mira is a plugin for Paper and Folia, built from 33 modules in one JAR; each has its own file under `modules/` and can be switched off with `enabled: false`.

> **Note:** Mira used to be called CoreEngine. What changes with the update (commands, permissions, placeholders, data folder) is explained in [Moving from CoreEngine](migration.md).

## Module overview

| Module | File | Description | Commands |
|---|---|---|---|
| **[AFK](afk.md) & [Sleep](sleep.md)** | [afk.yml](afk.md) | Auto-AFK on inactivity, optional kick; sleep voting | `/afk`, `/sleep` |
| **[Reminder](reminder.md)** | [reminder.yml](reminder.md) | A tip in the chat every 30 minutes, matching the enabled modules, own tips possible | none |
| **[Chat](chat.md) & [Messages](messaging.md)** | [chat.yml](chat.md) | Chat format, team chat, private messages | `/msg`, `/team chat`, `/nick` |
| **[Claims](claim-overview.md)** | [claim.yml](claim-config.md) | Land protection with golden shovel, trust levels, subdivisions, claim blocks, team plots, PvP protection | `/claim` |
| **Holograms** | [holograms.yml](holograms.md) | Text and item lines, PlaceholderAPI | `/holo` |
| **Homes** | [homes.yml](homes.md) | Personal homes with limit, cooldown, warmup | `/home`, `/sethome`, `/delhome` |
| **Jobs** | [jobs.yml](jobs.md) | 11 jobs with levels, XP, boosts, quests, shop | `/jobs`, `/jobsa` |
| **Join/Leave** | [joinleave.yml](joinleave.md) | Custom join/leave messages, first-join title | Automatic |
| **Moderation** | [moderation.yml](moderation.md) | Mutes, bans, warns, jail, vanish, spy | `/mute`, `/cban`, `/warn`, `/jail`, `/vanish` |
| **[Join Protection](joinprotection.md)** | [joinprotection.yml](joinprotection.md) | Grace period for new players with a boss bar countdown | none |
| **Mob teleport** | [mobteleport.yml](mobteleport.md) | Leashed mobs follow on teleport | `/mobteleport` |
| **Nick** | [nick.yml](nick.md) | Custom nicknames with colours | `/nick` |
| **[Command visibility](command-visibility.md)** | [permissions.yml](command-visibility.md) | Tab shows only permitted commands, no `bukkit:` duplicates | Automatic |
| **RTP** | [rtp.yml](rtp.md) | Random teleport with safe target search | `/rtp` |
| **Shop** | [shop.yml](shop.md) | Chest shops, buy/sell, price limits, hopper protection | Shift+click a chest |
| **Spawn** | [spawn.yml](spawn.md) | Server, first-join and group spawns | `/spawn`, `/setspawn` |
| **Stations** | [stations.yml](stations.md) | Virtual workstations at one hub | `/stations` |
| **Tab** | [tab.yml](tab.md) | Tab name with prefix/suffix/Nexo glyphs | Automatic |
| **Team** | [team.yml](teams.md) | Ranks, bank, home, warps, chest claims, alliances | `/team` |
| **Teleport** | [teleport.yml](teleport.md) | Teleport core with combat lock, `/back` | `/back` |
| **TPA** | [tpa.yml](tpa.md) | TPA/TPAHere with timeout, cooldown | `/tpa`, `/tpaccept`, `/tpdeny` |
| **Utility** | [utility.yml](utility.md) | Heal, feed, fly, god, repair, trash, ping, TPS, seen | `/heal`, `/fly`, `/god`, `/whois` |
| **Warps** | [warps.yml](warps.md) | Server warps with icon, group, warmup, cooldown | `/warp`, `/setwarp` |
| **Web interface** | [websession.yml](web-interface.md) | Web panel for homes, claims, jobs, teams, warps, economy | `/cweb` |
| **World** | [world.yml](world.md) | Gamerule menu, shortcut commands | `/world`, `/gamerules` |
| **[Fast Leaf Decay](leafdecay.md)** | [leafdecay.yml](leafdecay.md) | Leaves without a log fall within seconds instead of minutes | none |
| **[Mob to Egg](mobtoegg.md)** | [mobtoegg.yml](mobtoegg.md) | A thrown egg turns a mob into its spawn egg with a small chance (off by default) | `mobtoegg.use` |

## Toggling modules

Every module file starts with `enabled: true`. Set to `false`, its commands reply "module disabled" and it stops reacting to game actions, existing data is kept.

```yaml
# modules/jobs.yml
enabled: false
```

## Reload

`/mira reload` reloads `config.yml`, `messages.yml`, all `modules/*.yml`, the job definitions and player data, without a restart.

> **Tip:** For config changes the reload is enough. After a plugin update, new companion plugins (PlaceholderAPI, LuckPerms) or brand-new modules, a restart is the safe choice.
