I want to create my first plugin, but where does i start?

The title say everything

There’s the Spigot wiki, there’s the Bukkit wiki, and I’m planning on making a tutorial series on how to make Paper plugins.

basically: google is your friend, learn java first.


Firstly, you’ll want to be familiar with Java as a programming language. Several great programs for this exist, including JetBrains Academy.

Most Java developers in this community are using Intellij, an IDE with fabulous code autocompletion and detection of potential bugs, which also has an education edition with built-in tutorials to help you learn Java.

Once you have an understanding of the language itself (don’t need to be an expert), you can follow this guide to set up a skeleton plugin project. The only thing you change to use Paper’s larger API instead of Spigot’s is to specify Paper instead of Spigot in your build.gradle file.

Now that you have a base project down, you’ll want to take a poke around the Paper Javadocs. These contain a list of all classes, methods, and utilities in the Paper API, as well as descriptions of their behavior and usage.

There are two main concepts in plugins themselves: event handlers and commands.

For an introduction to the first, read here.

The second is quite simple: in your class that extends JavaPlugin (your main class), override this method of JavaPlugin with your command handler. This method will be called for every command registered in your plugin.yml.

I apologize for this wall of poorly-organized information; many existing tutorials try to teach both Java and plugin development at once and fail, or are written solely for Spigot. There is Paper-specific documentation for this in the works, however.