Plugins für Spigot und Paper
So holst du aus Codexe das beste Bukkit-, Spigot- oder Paper-Plugin in Java oder Kotlin: Anfrage, Versionen, plugin.yml, Abhängigkeiten, Build und häufige Probleme.
Aktualisiert
Auf dieser Seite
Die Typen Bukkit/Spigot/Paper erzeugen ein Server-Plugin, das auf Paper, Spigot und deren Forks läuft. Wähle Java (Maven-Projekt) oder Kotlin (Gradle-Projekt mit build.gradle.kts).
Um dein Plugin im Spiel auszuprobieren, starte mit Jetzt testen einen privaten Testserver.
Wenn du die Anfrage sendest, fragt Codexe, für welche Minecraft-Version das Plugin ist, von 1.8.8 bis 26.3. Der Code wird für die API und das Java-Level dieser Version geschrieben, und der Testserver läuft mit dieser Version. Projekte, die vor dem 30. September 2026 erstellt wurden, behalten die Version, die in ihren Build-Dateien steht.
#Was in die Anfrage gehört
- Server-Software und Version: „Paper 1.21.4“ oder „Spigot 1.20.1“. Paper hat eine größere API als Spigot. Code, der für Spigot geschrieben ist, läuft auf Paper, aber nicht umgekehrt; bitte also um Spigot, wenn du beides brauchst.
- Befehle mit Argumenten, wer sie benutzen darf, und Tab-Vervollständigung.
- Berechtigungen mit ihren Standardwerten (
true,op,false). - config.yml-Schlüssel, die bearbeitbar sein sollen.
- Speicherung: YAML, SQLite, MySQL oder im Arbeitsspeicher.
- Integrationen: Vault, PlaceholderAPI, LuckPerms, WorldGuard…, ausdrücklich genannt, damit sie als Abhängigkeiten hinzugefügt werden.
A Paper 1.21.4 plugin (Java) called Bounties.
- /bounty set <player> <amount>: takes money via Vault, adds it to the player's bounty.
- Killing a player with a bounty pays it to the killer.
- /bounty top shows the 10 highest bounties.
- Bounties stored in SQLite. Minimum bounty 100 (config.yml).
- Permission bounties.set (default true).A Paper 1.21.4 plugin in Kotlin called Bounties, same features as above.
Use Kotlin idioms (data classes, extension functions) but keep the Bukkit API usage standard.#Was Codexe generiert
- Ein Maven-Projekt (Java) oder Gradle-Projekt (Kotlin) mit der richtigen API-Abhängigkeit.
- Die Hauptklasse, die
JavaPluginerweitert, dazu Befehls-, Listener- und Speicherklassen. plugin.ymlmit Hauptklasse,api-version, Befehlen und Berechtigungen, undconfig.yml, wenn es Einstellungen gibt.
name: Bounties
version: 1.0.0
main: eu.codexe.bounties.Bounties
api-version: '1.21'
depend: [Vault]
commands:
bounty:
description: Manage bounties
permissions:
bounties.set:
default: true#Versionen und Java
Codexe liest die Minecraft-Version aus der Build-Datei und baut mit Java 17 (vor 1.20.5), Java 21 (1.20.5 und neuer) oder Java 25 (26.x). Nennst du keine Version, wird die Paper/Spigot-API 1.20.6 verwendet.
#Build und Verifizierung
Codexe kompiliert das Plugin, bevor es als Ready gilt, und prüft, dass die JAR die Klassen und eine plugin.yml (oder paper-plugin.yml) enthält. Plugin-Builds dauern meist deutlich weniger als eine Minute. Siehe Kompilieren.
#Installieren
Lade die JAR herunter, leg sie in plugins/, starte den Server neu (verwende nicht /reload) und prüfe die Konsole beim Start auf Fehler.
#Häufige Probleme
| Symptom | Wahrscheinliche Ursache |
|---|---|
| Plugin lädt nicht, „main class not found“ | main: in plugin.yml passt nicht zur Klasse. Bitte den Chat, das zu beheben, oder prüfe es nach manuellen Umbenennungen. |
| „Unsupported API version“ auf einem älteren Server | Das Plugin zielt auf eine neuere API als dein Server. Nenne in der Anfrage deine genaue Serverversion. |
| Ein Befehl tut nichts | Der Befehl fehlt in plugin.yml, oder dem Spieler fehlt die Berechtigung. |
NoClassDefFoundError für Vault oder Ähnliches | Das Abhängigkeits-Plugin ist auf dem Server nicht installiert. |
| Baut, aber eine Funktion verhält sich falsch | Beschreib das genaue Verhalten im Spiel im Chat. Die Verifizierung prüft den Build, nicht das Gameplay. |