Οδηγός

Πώς να φτιάξεις custom αντικείμενα με ένα plugin

Ενημερώθηκε 18 Οκτωβρίου 2026

Custom σπαθιά, ραβδιά, κλειδιά και εργαλεία είναι από τις λειτουργίες που ζητούνται πιο συχνά σε plugins. Ένα plugin δεν μπορεί να προσθέσει ένα πραγματικά νέο αντικείμενο στο παιχνίδι, μπορεί όμως να πάρει ένα vanilla αντικείμενο, να του δώσει όνομα, lore και ένα κρυφό tag και να αντιδρά όταν ένας παίκτης το χρησιμοποιεί. Οι παίκτες μπαίνουν με το κανονικό παιχνίδι, χωρίς mods.

Άλλαξε τα αντικείμενα με τα δικά σου.

Φτιάξ' το με το Codexe

Βήμα βήμα

  1. 1.Κατέγραψε τα αντικείμενα

    Για κάθε αντικείμενο: το βασικό υλικό, το εμφανιζόμενο όνομα, τις γραμμές του lore και τι κάνει. «Ένα blaze rod με το όνομα Fire Wand που ρίχνει fireball με δεξί κλικ, cooldown 5 δευτερολέπτων» είναι ένα πλήρες αντικείμενο.

  2. 2.Σήμανέ τα με PersistentDataContainer

    Αποθήκευσε ένα id όπως fire_wand στο PersistentDataContainer του αντικειμένου με ένα NamespacedKey. Το plugin αναγνωρίζει το αντικείμενο από αυτό το tag, όχι από το όνομά του, οπότε αν μετονομαστεί σε αμόνι δεν δημιουργείται αντίγραφο.

  3. 3.Γράψε τις ικανότητες

    Κάθε ικανότητα είναι ένας event listener: PlayerInteractEvent για τα δεξιά κλικ, EntityDamageByEntityEvent για τα χτυπήματα, BlockBreakEvent για τα εργαλεία. Πρόσθεσε cooldown ανά παίκτη και ανά αντικείμενο.

  4. 4.Αποφάσισε πώς τα παίρνουν οι παίκτες

    Μια εντολή διαχειριστή /give, μια συνταγή crafting, ένα shop, drops από mobs ή ανταμοιβές από crates.

  5. 5.Κάνε τα πάντα ρυθμιζόμενα

    Ονόματα, lore, ζημιά, cooldowns και συνταγές στο config.yml, ώστε να ισορροπείς τα αντικείμενα χωρίς νέο build.

  6. 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
Πώς να φτιάξεις custom αντικείμενα με ένα Minecraft plugin | Codexe