Handleiding

Een Paper-plugin maken

Bijgewerkt 7 oktober 2026

Paper is de meest gebruikte Minecraft-serversoftware voor plugins: het draait Spigot-plugins en voegt een grotere, snellere API toe. Een Paper-plugin is een Java-project (of Kotlin) dat tegen paper-api wordt gecompileerd. Hier staat wat het nodig heeft, met de hand of met een AI die het voor je bouwt.

Een voorbeeld om mee te beginnen.

Genereer dit met Codexe

Stap voor stap

  1. 1.Kies de Minecraft-versie

    Gebruik de versie die je server draait. Die bepaalt de Java-versie: Java 17 vóór 1.20.5, Java 21 vanaf 1.20.5, Java 25 voor 26.x.

  2. 2.Maak het project

    Een Gradle- of Maven-project met de dependency paper-api voor die versie, uit de PaperMC-repository, in de scope provided/compileOnly.

  3. 3.Schrijf de hoofdklasse

    Een klasse die JavaPlugin uitbreidt, met onEnable() om commando's en listeners te registreren.

  4. 4.Beschrijf de plugin aan de server

    plugin.yml (name, version, main, api-version, commands, permissions). Paper ondersteunt ook paper-plugin.yml, met eigen laadregels.

  5. 5.Bouwen en testen

    Bouw de .jar, zet hem in de map plugins/ van een Paper-testserver, start hem en controleer de console op fouten.

Paper of Spigot?

Code die voor de Spigot-API is geschreven draait op Paper, maar niet andersom: Paper voegt events en methoden toe (bijvoorbeeld de Adventure-tekstcomponenten en veel async-API's) die Spigot niet heeft. Schrijf voor Paper als je server Paper draait; schrijf voor Spigot als de plugin ook op Spigot-servers moet draaien.

De snelle manier

Kies op Codexe een Bukkit/Spigot/Paper-plugin, zeg "Paper" en de versie in het verzoek en beschrijf wat hij doet. Codexe zet het project en de juiste Java-versie op, compileert het, lost buildfouten op en laat je joinen op een Paper-testserver met de plugin geïnstalleerd.

Veelvoorkomende problemen

  • UnsupportedClassVersionError: de plugin is gecompileerd met een nieuwere Java dan de server draait.
  • NoSuchMethodError / NoClassDefFoundError: de plugin gebruikt een API die niet bestaat op de serverversie, of een dependency is niet in de .jar geshade.
  • Plugin laadt maar commando's doen niets: het commando ontbreekt in plugin.yml of de executor is niet geregistreerd.

Vragen

Werken Paper-plugins op Purpur of Folia?

Purpur is een fork van Paper, dus Paper-plugins draaien daar. Folia verandert de threading: een plugin moet voor de regionale scheduler zijn geschreven om op Folia te draaien.

Kan ik een Paper-plugin in Kotlin schrijven?

Ja. Codexe kan een Kotlin Gradle-project met build.gradle.kts genereren voor dezelfde Paper-API.

Bouw nu een Paper-plugin

Deze prompt opent klaar om te versturen:

“Een Paper 1.21.4-plugin genaamd Bounties: /bounty set <player> <amount> met de Vault-economie, de moordenaar krijgt de beloning, /bounty list toont de top 10, bounties worden bewaard na herstarts, berichten in config.yml.”

Genereer dit met Codexe
Een Paper-plugin maken (Minecraft) | Codexe