Οδηγός
Πώς να φτιάξεις custom αντικείμενα με ένα plugin
Ενημερώθηκε 18 Οκτωβρίου 2026
Custom σπαθιά, ραβδιά, κλειδιά και εργαλεία είναι από τις λειτουργίες που ζητούνται πιο συχνά σε plugins. Ένα plugin δεν μπορεί να προσθέσει ένα πραγματικά νέο αντικείμενο στο παιχνίδι, μπορεί όμως να πάρει ένα vanilla αντικείμενο, να του δώσει όνομα, lore και ένα κρυφό tag και να αντιδρά όταν ένας παίκτης το χρησιμοποιεί. Οι παίκτες μπαίνουν με το κανονικό παιχνίδι, χωρίς mods.
Άλλαξε τα αντικείμενα με τα δικά σου.
Φτιάξ' το με το CodexeΒήμα βήμα
1.Κατέγραψε τα αντικείμενα
Για κάθε αντικείμενο: το βασικό υλικό, το εμφανιζόμενο όνομα, τις γραμμές του lore και τι κάνει. «Ένα blaze rod με το όνομα Fire Wand που ρίχνει fireball με δεξί κλικ, cooldown 5 δευτερολέπτων» είναι ένα πλήρες αντικείμενο.
2.Σήμανέ τα με PersistentDataContainer
Αποθήκευσε ένα id όπως
fire_wandστοPersistentDataContainerτου αντικειμένου με έναNamespacedKey. Το plugin αναγνωρίζει το αντικείμενο από αυτό το tag, όχι από το όνομά του, οπότε αν μετονομαστεί σε αμόνι δεν δημιουργείται αντίγραφο.3.Γράψε τις ικανότητες
Κάθε ικανότητα είναι ένας event listener:
PlayerInteractEventγια τα δεξιά κλικ,EntityDamageByEntityEventγια τα χτυπήματα,BlockBreakEventγια τα εργαλεία. Πρόσθεσε cooldown ανά παίκτη και ανά αντικείμενο.4.Αποφάσισε πώς τα παίρνουν οι παίκτες
Μια εντολή διαχειριστή
/give, μια συνταγή crafting, ένα shop, drops από mobs ή ανταμοιβές από crates.5.Κάνε τα πάντα ρυθμιζόμενα
Ονόματα, lore, ζημιά, cooldowns και συνταγές στο
config.yml, ώστε να ισορροπείς τα αντικείμενα χωρίς νέο build.6.Κάνε build και δοκίμασε κάθε αντικείμενο
Άφησε το Codexe να κάνει compile το plugin, μπες στον δοκιμαστικό server με το Δοκίμασέ το τώρα, δώσε στον εαυτό σου κάθε αντικείμενο και χρησιμοποίησέ το.
Γιατί tag και όχι όνομα
Ο έλεγχος του εμφανιζόμενου ονόματος ή του lore είναι το κλασικό λάθος: όποιος παίκτης έχει αμόνι μπορεί να μετονομάσει ένα ξύλο σε «Fire Wand». Το PersistentDataContainer (Minecraft 1.14 και νεότερα) αποθηκεύει στο αντικείμενο δεδομένα που οι παίκτες δεν μπορούν να επεξεργαστούν, και αντέχει επανεκκινήσεις, σεντούκια και ανταλλαγές επειδή είναι μέρος του αντικειμένου.
Στις 1.8 έως 1.13 δεν υπάρχει PersistentDataContainer· τα plugins χρησιμοποιούν NBT μέσω μιας βιβλιοθήκης ή ένα κρυφό σημάδι στο lore. Γράψε την έκδοση στο αίτημα και το Codexe γράφει την προσέγγιση που υποστηρίζει εκείνη η έκδοση.
Οι ικανότητες και τα events πίσω τους
| Ικανότητα | Συμβάν | Σημειώσεις |
|---|---|---|
| Δύναμη με δεξί κλικ | PlayerInteractEvent | Έλεγξε το χέρι, ενεργοποιείται μία φορά για κάθε χέρι |
| Επιπλέον ζημιά ή εφέ στο χτύπημα | EntityDamageByEntityEvent | Έλεγξε ότι αυτός που χτυπά είναι παίκτης που κρατά το αντικείμενο |
| Εργαλείο εξόρυξης σε περιοχή | BlockBreakEvent | Σεβάσου τα plugins προστασίας όπως το WorldGuard |
| Παθητικό εφέ όσο το κρατάς | Ένα επαναλαμβανόμενο task ή PlayerItemHeldEvent | Αφαίρεσε το εφέ όταν ο παίκτης αλλάζει αντικείμενο |
| Τόξο ή βλήμα | EntityShootBowEvent, ProjectileHitEvent | Σήμανε το βλήμα για να ξέρεις από πού ήρθε |
Textures και μοντέλα
Ένα plugin αλλάζει το τι κάνει ένα αντικείμενο, όχι το πώς φαίνεται. Για custom εμφάνιση χρειάζεται ένα resource pack που κατεβάζουν οι παίκτες: στις παλιότερες εκδόσεις το αντικείμενο έχει έναν αριθμό CustomModelData που το pack αντιστοιχίζει σε ένα μοντέλο, και από την 1.21.2 ένα αντικείμενο μπορεί επίσης να δείχνει στο δικό του μοντέλο μέσω του component item_model. Χωρίς pack το αντικείμενο μοιάζει με το βασικό του υλικό με custom όνομα, κάτι που για πολλούς servers είναι μια χαρά.
Παράδειγμα περιγραφής
«Ένα plugin για Paper 1.21.4 με το όνομα MagicItems. Τρία αντικείμενα, το καθένα σημασμένο με ένα id PersistentDataContainer: Fire Wand (blaze rod, το δεξί κλικ ρίχνει fireball, cooldown 5 s), Frost Blade (σιδερένιο σπαθί, τα χτυπήματα δίνουν Slowness II για 3 s), Miner's Pick (διαμαντένια αξίνα, σπάει 3x3 αλλά όχι σε περιοχές WorldGuard όπου ο παίκτης δεν μπορεί να χτίσει). /mi give <player> <item> για magicitems.admin. Shaped συνταγές για το καθένα. Ονόματα, lore, cooldowns και συνταγές στο config.yml.»
Ερωτήσεις
Plugin ή mod για custom αντικείμενα;
Plugin αν οι παίκτες πρέπει να μπαίνουν με το κανονικό παιχνίδι: τα αντικείμενα είναι vanilla αντικείμενα με νέα συμπεριφορά. Mod αν χρειάζεσαι πραγματικά νέα αντικείμενα ή blocks με δικό τους rendering, που τότε πρέπει να εγκαταστήσει κάθε παίκτης. Δες το plugin ή mod.
Μπορώ να το χρησιμοποιήσω με ItemsAdder ή Nexo;
Το plugin σου μπορεί να εξαρτάται από αυτά, αλλά είναι επί πληρωμή plugins: ο δοκιμαστικός server του Codexe δεν μπορεί να τα εγκαταστήσει, οπότε ένα plugin που χρειάζεται κάποιο από αυτά δεν θα ενεργοποιηθεί εκεί. Οι δωρεάν εξαρτήσεις που αναφέρονται στο plugin.yml εγκαθίστανται για σένα στον δοκιμαστικό server.
Σταματούν να λειτουργούν τα αντικείμενα μετά από ένα update;
Τα αντικείμενα με tag PersistentDataContainer κρατούν το tag τους στα updates του Minecraft. Οι ικανότητες μπορεί να χρειαστούν νέο build για το νέο API· δες το ενημέρωση ενός plugin.
Φτιάξε τα custom αντικείμενά σου
Αυτό το prompt ανοίγει έτοιμο για αποστολή:
“Ένα plugin για Paper 1.21.4 με το όνομα MagicItems με τρία αντικείμενα σημασμένα με PersistentDataContainer: Fire Wand (blaze rod, το δεξί κλικ ρίχνει fireball, cooldown 5 δευτερολέπτων), Frost Blade (σιδερένιο σπαθί, Slowness II για 3 δευτερόλεπτα στο χτύπημα), Miner's Pick (διαμαντένια αξίνα που σκάβει 3x3). /mi give για magicitems.admin, μια shaped συνταγή για το καθένα, ονόματα, lore, cooldowns και συνταγές στο config.yml.”
Φτιάξ' το με το Codexe