AI-powered development toolkit for Minecraft plugin development across Paper, Purpur, Velocity, and Waterfall.
MPS is a curated library of Cursor Agent Skills that automate common Minecraft plugin development tasks — from project scaffolding to CI/CD deployment — across all major server and proxy platforms.
繁體中文說明請見 README.zh-TW.md
Paper / Spigot (Backend)
- Scaffold — Generate a complete Maven plugin project (pom.xml, plugin.yml, main class)
- Commands — Generate
CommandExecutor+TabCompleterwith sub-command routing and permission checks - Events — Generate
@EventHandlerlistener skeletons withEventPriorityand field access examples - Config — Generate structured
config.yml+ConfigManagerclass - Messages — Generate
messages.yml+MessageManagersupporting MiniMessage / Legacy formats - Permissions — Generate
PermissionManager+plugin.ymlpermission node declarations - Database — Generate SQLite / MySQL dual-mode
DatabaseManagerwith HikariCP connection pool - Integration — Generate PlaceholderAPI
Expansionclass; produce correct Paper API call code; integrate Vault economy API - Testing — Generate JUnit 5 + MockBukkit test suite skeleton
- DevOps — Generate GitHub Actions CI/CD workflow (build → test → release JAR)
Platform-Specific
- Purpur — Purpur-specific API code generation (PlayerAFKEvent, purpur.yml, runtime guards)
- Velocity — Velocity proxy plugin scaffold,
@Subscribeevent listeners, PluginMessageEvent handler - Waterfall — Waterfall/BungeeCord proxy plugin scaffold, BungeeCord channel handler
| Skill | Category | Description |
|---|---|---|
generate-plugin-skeleton |
scaffold | Complete Maven plugin project: pom.xml, plugin.yml, main class |
generate-command-handler |
command | CommandExecutor + TabCompleter with sub-command routing, permissions, argument validation |
generate-event-listener |
event | Listener skeleton with @EventHandler, EventPriority, ignoreCancelled, field access examples |
generate-config-yml |
config | Structured config.yml with defaults and ConfigManager class |
generate-message-system |
config | messages.yml + MessageManager — MiniMessage and Legacy format, PlaceholderAPI support |
generate-permission-system |
permission | PermissionManager + plugin.yml permission nodes with inheritance tree |
generate-database-manager |
database | SQLite / MySQL dual-mode DatabaseManager with HikariCP, async queries, CRUD examples |
generate-placeholder-expansion |
integration | PlaceholderAPI Expansion class with placeholder routing logic |
spigot-paper-api-caller |
integration | Correct Paper Java API usage — events, schedulers, NBT, Adventure API |
integrate-vault |
integration | Vault economy API integration — EconomyManager, deposit/withdraw, balance query |
generate-test-suite |
testing | JUnit 5 + MockBukkit test suite: pom.xml dependencies, server init, player/event/command tests |
generate-cicd-workflow |
devops | GitHub Actions workflow: build, test, and auto-release JAR on tag push |
| Skill | Platform | Category | Description |
|---|---|---|---|
purpur-api-caller |
Purpur | integration | Purpur-specific API code — PlayerAFKEvent, purpur.yml, runtime platform guards |
generate-velocity-plugin-skeleton |
Velocity | scaffold | Velocity proxy plugin Gradle skeleton — @Plugin, Guice injection, velocity-plugin.json |
generate-proxy-event-listener |
Velocity | event | @Subscribe event listener — LoginEvent, ServerConnectedEvent, PlayerChooseInitialServerEvent |
generate-plugin-message-handler |
Velocity | integration | PluginMessageEvent handler — MinecraftChannelIdentifier, ByteStreams, proxy-to-backend messaging |
generate-waterfall-plugin-skeleton |
Waterfall | scaffold | Waterfall/BungeeCord proxy plugin Gradle skeleton — extends Plugin, plugin.yml |
generate-bungeecord-channel |
Waterfall | integration | BungeeCord channel handler — custom channels, built-in sub-channels, ByteStreams serialization |
Open a Cursor Agent chat and describe your need in natural language. The agent will automatically load the matching Skill:
Create a plugin skeleton named MyPlugin targeting MC 1.21
→ applies generate-plugin-skeleton
Generate a listener for PlayerJoinEvent
→ applies generate-event-listener
Add /shop buy sell list subcommands
→ applies generate-command-handler
Generate config.yml with economy and cooldown sections
→ applies generate-config-yml
Build a message system using MiniMessage format
→ applies generate-message-system
Add permission nodes myplugin.admin and myplugin.use
→ applies generate-permission-system
Write MockBukkit unit tests for my plugin
→ applies generate-test-suite
Set up GitHub Actions to auto-publish the JAR
→ applies generate-cicd-workflow
Build a DatabaseManager supporting SQLite and MySQL
→ applies generate-database-manager
Write a PlaceholderAPI expansion for %myplugin_balance%
→ applies generate-placeholder-expansion
Integrate Vault economy API
→ applies integrate-vault
Create a Velocity proxy plugin for my network
→ applies generate-velocity-plugin-skeleton
Listen for LoginEvent and ServerConnectedEvent on Velocity
→ applies generate-proxy-event-listener
Handle plugin messaging between Velocity and backend servers
→ applies generate-plugin-message-handler
Create a Waterfall/BungeeCord proxy plugin
→ applies generate-waterfall-plugin-skeleton
Set up a BungeeCord plugin messaging channel
→ applies generate-bungeecord-channel
MPS/
├── README.md ← This file (English)
├── README.zh-TW.md ← Traditional Chinese version
├── Skills/ ← Canonical Skill definitions (18 skills)
│ ├── README.md
│ ├── skills-registry.yml ← Skills index (category / inputs / outputs)
│ ├── _shared/ ← Cross-platform shared patterns
│ │ ├── async-patterns.md
│ │ └── cross-server-messaging.md
│ ├── paper/PLATFORM.md ← Paper build setup and API reference
│ ├── purpur/
│ │ ├── PLATFORM.md ← Purpur build setup and API reference
│ │ └── purpur-api-caller/SKILL.md
│ ├── velocity/
│ │ ├── PLATFORM.md ← Velocity build setup and API reference
│ │ ├── generate-velocity-plugin-skeleton/SKILL.md
│ │ ├── generate-proxy-event-listener/SKILL.md
│ │ └── generate-plugin-message-handler/SKILL.md
│ ├── waterfall/
│ │ ├── PLATFORM.md ← Waterfall build setup and API reference
│ │ ├── generate-waterfall-plugin-skeleton/SKILL.md
│ │ └── generate-bungeecord-channel/SKILL.md
│ └── [12 legacy flat skills] ← Paper/Spigot skills (flat layout)
├── docs/ ← Supplementary API reference (read-only)
│ ├── CONVENTIONS.md
│ ├── paper/
│ ├── purpur/
│ ├── velocity/
│ └── waterfall/
├── .cursor/
│ ├── rules/
│ │ └── minecraft-plugin-agent-skills.mdc ← Agent behavior rules
│ └── skills/ ← Cursor Agent runtime (19 skills)
│ └── skills-registry.yml
└── web/ ← Next.js documentation site
- Fork this repository
- Create a new Skill directory under both
Skills/<platform>/<slug>/and.cursor/skills/<platform>/<slug>/ - Write
SKILL.md(with YAML frontmatternameanddescription) andexamples.md(at least 2 examples) - Add an entry to both
Skills/skills-registry.ymland.cursor/skills/skills-registry.ymlwithstatus: active - Open a Pull Request
See .cursor/rules/minecraft-plugin-agent-skills.mdc for the full contribution specification.
This project is released under the LICENSE.