What Is the Bukkit API?
The Bukkit API is the programming interface used to create Minecraft server plugins. Paper implements and extends the Bukkit API with additional features. You write plugins in Java (or Kotlin) using Maven or Gradle.
Setting Up Your Project
Use Maven or Gradle with the Paper dependency. The PaperMC documentation at docs.papermc.io has the official setup guide with current dependency coordinates.
Your First Plugin Class
public class MyPlugin extends JavaPlugin {
@Override
public void onEnable() {
getLogger().info("MyPlugin enabled!");
}
@Override
public void onDisable() {
getLogger().info("MyPlugin disabled!");
}
}Event Listeners
Plugins respond to game events by implementing the Listener interface and annotating methods with @EventHandler. Listen for player joins, block breaks, mob deaths, and hundreds of other events.
Commands
Register commands in plugin.yml and handle them by implementing CommandExecutor. Commands receive the sender, the command object, and the arguments as a String array.
Testing on CraftNodes
Build your plugin JAR with Maven or Gradle, upload it to your CraftNodes server's plugins folder via SFTP, and reload with /reload or a full restart. View errors in the console output.