Plugins Spigot και Paper
Πώς παίρνεις από το Codexe το καλύτερο plugin Bukkit, Spigot ή Paper, σε Java ή Kotlin. Τι να γράψεις στο αίτημα, εκδόσεις, plugin.yml, εξαρτήσεις, build και συχνά προβλήματα.
Ενημερώθηκε
Σε αυτή τη σελίδα
Οι τύποι Bukkit/Spigot/Paper παράγουν ένα plugin για server που τρέχει σε Paper, Spigot και τα forks τους. Διάλεξε Java (project Maven) ή Kotlin (project Gradle με build.gradle.kts).
Για να παίξεις το plugin σου μέσα στο παιχνίδι, ξεκίνα έναν ιδιωτικό δοκιμαστικό server με το Δοκίμασέ το τώρα.
Όταν στέλνεις το αίτημα, το Codexe ρωτά για ποια έκδοση Minecraft είναι το plugin, από 1.8.8 έως 26.3. Ο κώδικας γράφεται για το API και το επίπεδο Java εκείνης της έκδοσης, και ο δοκιμαστικός server τρέχει εκείνη την έκδοση. Τα projects που δημιουργήθηκαν πριν από τις 30 Σεπτεμβρίου 2026 κρατούν την έκδοση που είναι γραμμένη στα αρχεία build τους.
#Τι να γράψεις στο αίτημα
- Λογισμικό και έκδοση του server: «Paper 1.21.4» ή «Spigot 1.20.1». Το Paper έχει μεγαλύτερο API από το Spigot. Κώδικας γραμμένος για Spigot τρέχει σε Paper, όχι το αντίστροφο, οπότε ζήτα Spigot αν χρειάζεσαι και τα δύο.
- Εντολές με ορίσματα, ποιος μπορεί να τις χρησιμοποιεί και tab completion.
- Permissions με τις προεπιλογές τους (
true,op,false). - Τα κλειδιά του config.yml που θέλεις να μπορούν να αλλάζουν.
- Αποθήκευση: YAML, SQLite, MySQL ή στη μνήμη.
- Ενσωματώσεις: Vault, PlaceholderAPI, LuckPerms, WorldGuard…, με το όνομά τους, ώστε να προστεθούν ως εξαρτήσεις.
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.#Τι δημιουργεί το Codexe
- Ένα project Maven (Java) ή Gradle (Kotlin) με τη σωστή εξάρτηση του API.
- Την κύρια κλάση που επεκτείνει το
JavaPlugin, μαζί με κλάσεις για εντολές, listeners και αποθήκευση. - Το
plugin.ymlμε την κύρια κλάση, τοapi-version, τις εντολές και τα permissions, και τοconfig.ymlόταν υπάρχουν ρυθμίσεις.
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#Εκδόσεις και Java
Το Codexe διαβάζει την έκδοση Minecraft από το αρχείο build και κάνει build με Java 17 (πριν από την 1.20.5), Java 21 (1.20.5 και νεότερες) ή Java 25 (26.x). Αν δεν πεις έκδοση, χρησιμοποιείται το API Paper/Spigot 1.20.6.
#Build και επαλήθευση
Το Codexe μεταγλωττίζει το plugin πριν το πει Έτοιμο και ελέγχει ότι το JAR περιέχει τις κλάσεις και ένα plugin.yml (ή paper-plugin.yml). Τα builds των plugins συνήθως παίρνουν πολύ λιγότερο από ένα λεπτό. Δες Μεταγλώττιση.
#Εγκατάσταση
Κατέβασε το JAR, βάλ' το στο plugins/, κάνε επανεκκίνηση του server (μη χρησιμοποιείς το /reload) και έλεγξε την κονσόλα για σφάλματα κατά την εκκίνηση.
#Συχνά προβλήματα
| Σύμπτωμα | Πιθανή αιτία |
|---|---|
| Το plugin δεν φορτώνει, «main class not found» | Το main: στο plugin.yml δεν ταιριάζει με την κλάση. Ζήτα από το chat να το διορθώσει, ή έλεγξέ το μετά από χειροκίνητες μετονομασίες. |
| «Unsupported API version» σε παλαιότερο server | Το plugin στοχεύει νεότερο API από τον server σου. Γράψε στο αίτημα την ακριβή έκδοση του server σου. |
| Μια εντολή δεν κάνει τίποτα | Η εντολή λείπει από το plugin.yml ή ο παίκτης δεν έχει το permission. |
NoClassDefFoundError για το Vault ή κάτι παρόμοιο | Το plugin της εξάρτησης δεν είναι εγκατεστημένο στον server. |
| Κάνει build, αλλά μια λειτουργία δεν συμπεριφέρεται σωστά | Περίγραψε στο chat την ακριβή συμπεριφορά μέσα στο παιχνίδι. Η επαλήθευση ελέγχει το build, όχι το gameplay. |