Skip to content

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.

7 lessons

Course Q&A

Setup & Lifecycle

Toolchain, plugin.yml, and the enable/disable lifecycle where most beginner bugs live.

  1. 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
  2. 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.

  1. 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
  2. 02Commands and PermissionsCommandExecutor/TabCompleter wiring, permission nodes that make sense to admins, and tab completion that teaches the command.20mMembers
  3. 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.

  1. 01Config and Persistence: config.yml to DatabasessaveDefaultConfig discipline, when YAML is enough, and the SQLite→Postgres path for real player data.20mMembers
  2. 02Performance and Publishing: Plugins Worth InstallingTPS budgets, the timings report, dependency hygiene, and what a good SpigotMC/Modrinth page looks like.18mMembers