Course
Minecraft Plugin Development with Paper
Write Paper plugins like a server owner who ships: the lifecycle, events, commands, schedulers, config, persistence, and the performance rules that keep a 100-player server at 20 TPS.
Setup & Lifecycle
Toolchain, plugin.yml, and the enable/disable lifecycle where most beginner bugs live.
- 01The Dev Environment: Paper, Gradle, and a Test ServerA reproducible setup — Paper server, Gradle toolchain, hot-loop testing — that you'll use for every plugin you ever write.20mOpen
- 02plugin.yml and the Lifecycle: onEnable, onDisableWhat the server reads before it ever touches your code — and why resource registration happens in onEnable, not the constructor.18mOpen
The Bukkit API
Events, commands, permissions, and the scheduler — the surface you'll write against daily.
- 01Events and Listeners: The Whole Game Is an Event BusEverything a player does fires an event — priorities, cancellation, and the read-only rules that keep listeners cheap.22mMembers
- 02Commands and PermissionsCommandExecutor/TabCompleter wiring, permission nodes that make sense to admins, and tab completion that teaches the command.20mMembers
- 03Schedulers: Sync, Async, and the Main ThreadThe main thread owns the world — BukkitScheduler, repeating tasks, and what you're allowed to touch from async code.22mMembers
Shipping Plugins
Config design, persistence, performance discipline, and publishing something others can run.
- 01Config and Persistence: config.yml to DatabasessaveDefaultConfig discipline, when YAML is enough, and the SQLite→Postgres path for real player data.20mMembers
- 02Performance and Publishing: Plugins Worth InstallingTPS budgets, the timings report, dependency hygiene, and what a good SpigotMC/Modrinth page looks like.18mMembers