Features • Installation • Commands • Dashboard • API
MysticalVillager is a comprehensive villager management plugin for Paper servers. It tracks every cure, kill, and breed on your server while providing anti-abuse protection, configurable rewards, and a real-time web dashboard that requires no login.
Whether you run a small SMP or a large network, MysticalVillager gives you the tools to monitor and reward positive villager interactions while detecting and preventing abuse.
Track villagers cured, killed, and bred per player. The plugin maintains streaks, personal bests, and global statistics across your entire server. All data persists across restarts and is accessible through commands, PlaceholderAPI, or the web dashboard.
Reward players for curing zombie villagers with money, experience, items, or custom commands. Each reward type has its own probability, and cooldowns prevent spam curing. The system integrates with Vault for economy support.
A scoring system analyzes player behavior to detect suspicious activity. It catches rapid cures, repeated targeting of the same villager, and detects villager farms based on concentration and breeding patterns. When abuse is detected, rewards are blocked and staff are notified.
Automatically blocks fake villagers from Citizens NPCs, MythicMobs, and similar plugins. This prevents players from exploiting spawned mobs for rewards.
When a player attempts to cure while on cooldown, items aren't wasted:
Optional XP loss when players kill villagers. Configurable level penalty with visual shame messages displayed on screen.
On-screen title and subtitle messages for cure, kill, and breed events. Fully configurable text with color code support. Can be enabled or disabled per event type.
A public web interface displays real-time statistics:
The dashboard updates automatically via Server-Sent Events - no page refresh needed.
Send events to Discord via webhooks. Supports cure notifications, abuse alerts, farm detection warnings, and exploit blocks with rich embeds and player information.
Ships with English, Dutch (Nederlands), German (Deutsch), Spanish (Español), and Portuguese (Português). All messages are customizable through language files.
15+ placeholders for use in scoreboards, holograms, tab lists, and more.
| Software | Version |
|---|---|
| Paper (or forks like Purpur) | 1.21.x |
| Java | 21+ |
Optional integrations:
plugins/ folderplugins/MysticalVillager/config.yml/mysticalvillager reload to apply changes| Command | Description | Permission |
|---|---|---|
/mysticalvillager help | Show help | - |
/mysticalvillager stats [player] | View statistics | mysticalvillager.stats |
/mysticalvillager leaderboard | View leaderboard | mysticalvillager.leaderboard |
/mysticalvillager reload | Reload config | mysticalvillager.reload |
/mysticalvillager debug [player] | Debug information | mysticalvillager.debug |
Aliases: /villagers, /mvillager, /mystvillager
/mvis intentionally avoided to prevent conflicts with Multiverse.
| Permission | Description | Default |
|---|---|---|
mysticalvillager.admin | Full admin access | op |
mysticalvillager.stats | View own stats | true |
mysticalvillager.stats.others | View others' stats | op |
mysticalvillager.leaderboard | View leaderboard | true |
mysticalvillager.reload | Reload configuration | op |
mysticalvillager.staffalerts | Receive abuse alerts | op |
mysticalvillager.bypass.cooldown | Bypass cure cooldowns | false |
mysticalvillager.bypass.antidupe | Bypass anti-dupe | false |
Access at http://your-server-ip:25574 (port configurable)
The dashboard features a dark theme with glass-morphism design. It shows:
Rate limiting protects against spam. If exceeded, a friendly countdown page is shown.
| Placeholder | Description |
|---|---|
%mysticalvillager_cured% | Player's cures |
%mysticalvillager_killed% | Player's kills |
%mysticalvillager_bred% | Player's breeds |
%mysticalvillager_streak% | Current streak |
%mysticalvillager_best_streak% | Best streak |
%mysticalvillager_global_cured% | Server total cures |
%mysticalvillager_global_killed% | Server total kills |
%mysticalvillager_global_bred% | Server total breeds |
%mysticalvillager_top_curer% | #1 curer name |
%mysticalvillager_leaderboard_<n>_name% | Position N name |
%mysticalvillager_leaderboard_<n>_count% | Position N count |
discord:
enabled: true
webhookUrl: "https://discord.com/api/webhooks/..."
serverName: "My Server"
events:
cure: true
abuseDetected: true
farmDetected: true
exploitBlocked: true
| Endpoint | Method | Description |
|---|---|---|
/api/stats/global | GET | Global statistics |
/api/stats/player/{uuid} | GET | Player statistics |
/api/players/search?q=name | GET | Search players by name |
/api/leaderboard?type=CURED&period=ALL | GET | Leaderboard |
/api/activity/week | GET | Weekly activity data |
/api/activity/hour | GET | Hourly distribution |
/api/events/recent?limit=10 | GET | Recent events |
/api/rewards | GET | Configured rewards |
/api/events/stream | GET | SSE event stream |
Connect to /api/events/stream for real-time updates:
connected - Initial connection establishedstats_update - Statistics changedcure - New cure eventheartbeat - Keep-alive (every 30s)Supports SQLite (default), MySQL, and MariaDB. All operations are async with connection pooling via HikariCP.
database:
type: sqlite # or mysql, mariadb
# MySQL/MariaDB settings
host: localhost
port: 3306
database: mysticalvillager
username: root
password: ""
rewards:
enabled: true
chance: 100
items:
money:
enabled: true
chance: 80
amount: 500
command: "eco give %player% %amount%"
experience:
enabled: true
chance: 50
amount: 100
command: "xp give %player% %amount%"
antiAbuse:
enabled: true
threshold: 50
scoring:
fastCure: 5
repeatedVillagerUuid: 10
farmDetected: 15
titles:
cure:
enabled: true
title: "&a&lVillager Cured!"
subtitle: "&7+500 coins"
kill:
enabled: true
title: "&c&lVillager Killed"
subtitle: "&7-2 XP levels"
MIT License - see LICENSE

MysticalVillager is a comprehensive villager management plugin for Paper servers. It tracks every cure, kill, and breed on your server while providing anti-abuse protection, configurable rewards, and a real-time web dashboard that requires no login.