Οδηγός

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

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

Ένα plugin οικονομίας κρατά ένα υπόλοιπο για κάθε παίκτη και επιτρέπει στους παίκτες να πληρώνουν ο ένας τον άλλον, να κερδίζουν χρήματα και να τα ξοδεύουν σε shops. Το σημαντικό δεν είναι οι εντολές αλλά η σύνδεση με το Vault: αυτή επιτρέπει σε plugins για shops, jobs και δημοπρασίες να χρησιμοποιούν τα χρήματά σου. Ο οδηγός καλύπτει τον σχεδιασμό, την αποθήκευση και το πώς να το κάνεις build και να το δοκιμάσεις.

Ξεκίνα από αυτό το παράδειγμα και άλλαξε τους κανόνες με τους δικούς σου.

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

Βήμα βήμα

  1. 1.Αποφάσισε τι είναι το plugin

    Είτε είναι η οικονομία (αποθηκεύει τα υπόλοιπα και δηλώνεται ως η οικονομία του Vault), είτε χρησιμοποιεί μια υπάρχουσα οικονομία μέσω Vault (ένα shop, bounties, ένα plugin για jobs). Οι περισσότεροι servers χρειάζονται ένα από το καθένα, όχι δύο οικονομίες.

  2. 2.Διάλεξε server και έκδοση

    Γράψε το λογισμικό του server και την έκδοση, για παράδειγμα Paper 1.21.4. Το plugin γίνεται build για το API και την έκδοση Java εκείνης της έκδοσης.

  3. 3.Κατέγραψε τις εντολές και τους κανόνες

    /balance, /pay <player> <amount>, /baltop και εντολές διαχειριστή όπως /eco give|take|set. Πρόσθεσε το αρχικό υπόλοιπο, το όνομα του νομίσματος, τα δεκαδικά και μια ελάχιστη πληρωμή.

  4. 4.Διάλεξε πού αποθηκεύονται τα υπόλοιπα

    SQLite για έναν server, MySQL αν πολλοί servers πρέπει να μοιράζονται τα ίδια υπόλοιπα. Τα χρήματα πρέπει να αντέχουν επανεκκινήσεις και crashes, γι' αυτό δεν κρατιούνται ποτέ μόνο στη μνήμη.

  5. 5.Άφησε το Codexe να το γράψει και να το κάνει build

    Περίγραψε το plugin και ανέφερε ρητά το Vault ώστε να προστεθεί ως εξάρτηση. Το Codexe γράφει τον κώδικα Java, το plugin.yml και το config.yml, κάνει compile και διορθώνει τα σφάλματα build πριν το project γίνει Έτοιμο.

  6. 6.Δοκίμασε τις πληρωμές μέσα στο παιχνίδι

    Πάτησε Δοκίμασέ το τώρα και μπες στον δοκιμαστικό server. Κάνε πληρωμές ανάμεσα σε δύο λογαριασμούς, δοκίμασε ποσά πολύ μεγάλα, αρνητικά ή μη αριθμητικά, και μετά κάνε επανεκκίνηση και έλεγξε ότι τα υπόλοιπα είναι ακόμα εκεί.

  7. 7.Εγκατάστησέ το

    Βάλε το Vault και το .jar σου στον φάκελο plugins/ του server και κάνε επανεκκίνηση. Αφαίρεσε κάθε άλλο plugin οικονομίας ή αποφάσισε ποιο θα χρησιμοποιεί το Vault.

Ο ρόλος του Vault

Το Vault είναι γέφυρα, όχι οικονομία. Ένα plugin οικονομίας υλοποιεί το interface Economy του Vault και το καταχωρεί στον services manager του server· τα άλλα plugins το ζητούν με getServer().getServicesManager().getRegistration(Economy.class) και καλούν μεθόδους όπως getBalance, withdrawPlayer και depositPlayer.

Έτσι ένα plugin για shop δεν χρειάζεται ποτέ να ξέρει ποια οικονομία τρέχεις. Στο plugin.yml χρησιμοποίησε depend: [Vault] όταν το plugin δεν μπορεί να λειτουργήσει χωρίς αυτό ή softdepend όταν το Vault είναι προαιρετικό. Το Vault API χρειάζεται μόνο για το compile· το ίδιο το Vault εγκαθίσταται στον server.

Αποφάσεις που γράφεις στο αίτημα

  • Μορφή χρημάτων: όνομα νομίσματος σε ενικό και πληθυντικό, σύμβολο, πόσα δεκαδικά.
  • Όρια: αρχικό υπόλοιπο, μέγιστο υπόλοιπο, αν τα υπόλοιπα μπορούν να γίνουν αρνητικά.
  • Παίκτες εκτός σύνδεσης: αν τα /pay και /eco λειτουργούν σε παίκτες που δεν είναι online.
  • Καταγραφή: ένα ιστορικό συναλλαγών στη βάση δεδομένων ή σε αρχείο, ώστε το staff να ελέγχει τις διενέξεις.
  • Κέρδος χρημάτων: σκοτώνοντας mobs, ανταμοιβές για τον χρόνο παιχνιδιού, πώληση αντικειμένων ή μόνο εντολές διαχειριστή.

Πού να αποθηκεύσεις τα υπόλοιπα

ΑποθήκευσηΚατάλληλο γιαΠρόσεξε
Αρχείο YAMLΠολύ μικροί servers, εύκολο στην ανάγνωσηΑργό με πολλούς παίκτες, καταστρέφεται εύκολα σε crash
SQLiteΈνας server, χωρίς ρυθμίσειςΔεν μπορεί να μοιραστεί ανάμεσα σε servers
MySQL / MariaDBΔίκτυα που μοιράζονται ένα κοινό υπόλοιποΧρειάζεται server βάσης δεδομένων και στοιχεία σύνδεσης στο config.yml

Παράδειγμα περιγραφής

«Ένα plugin οικονομίας για Paper 1.21.4 με το όνομα Coins που δηλώνεται ως η οικονομία του Vault. /balance [player], /pay <player> <amount> με ελάχιστο 1, /baltop με τους 10 πρώτους και /eco give|take|set για παίκτες με coins.admin. Οι νέοι παίκτες ξεκινούν με 100 coins. Δύο δεκαδικά. Κάθε πληρωμή καταγράφεται με ημερομηνία, αποστολέα, παραλήπτη και ποσό. Υπόλοιπα αποθηκευμένα σε SQLite. Ονόματα νομίσματος και όλα τα μηνύματα στο config.yml.»

Το Codexe χρησιμοποιεί SQLite από προεπιλογή όταν δεν ζητάς κάτι άλλο. Αν ζητήσεις MySQL, το plugin γράφεται με μια ρύθμιση storage-type και ο δοκιμαστικός server του δίνει δική του βάση MySQL όσο το δοκιμάζεις.

Ερωτήσεις

Χρειάζομαι το Vault;

Όχι για μια αυτόνομη οικονομία που δεν τη χρησιμοποιεί τίποτε άλλο. Το χρειάζεσαι μόλις άλλα plugins (shops, jobs, δημοπρασίες) πρέπει να διαβάζουν ή να αλλάζουν υπόλοιπα, γιατί αυτό είναι το API που αναζητούν.

Μπορώ να το τρέξω μαζί με το EssentialsX;

Το EssentialsX έχει δική του οικονομία και τη δηλώνει κι αυτό στο Vault. Τρέχε μία οικονομία τη φορά ή απενεργοποίησε αυτή που δεν θέλεις, αλλιώς άλλα plugins μπορεί να χρησιμοποιούν διαφορετικό υπόλοιπο από αυτό που δείχνουν οι εντολές σου.

Μπορούν πολλοί servers να μοιράζονται τα ίδια υπόλοιπα;

Ναι, με MySQL ή MariaDB για αποθήκευση και την ίδια βάση στο config.yml κάθε server. Ζήτα το στο αίτημα ώστε το plugin να διαβάζει τα υπόλοιπα από τη βάση αντί να τα κρατά σε cache για πολλή ώρα.

Πώς το δοκιμάζω χωρίς πραγματικό server;

Με το Δοκίμασέ το τώρα: ξεκινά ένας ιδιωτικός server Paper της έκδοσής σου με το μεταγλωττισμένο plugin, και τα plugins που αναφέρονται σε depend και softdepend, όπως το Vault, εγκαθίστανται κι αυτά. Το δωρεάν πλάνο έχει 3 δοκιμαστικούς servers την ημέρα, 10 λεπτά ο καθένας.

Φτιάξε την οικονομία του server σου

Αυτό το prompt ανοίγει έτοιμο για αποστολή:

“Ένα plugin οικονομίας για Paper 1.21.4 με το όνομα Coins που δηλώνεται ως η οικονομία του Vault: /balance, /pay με ελάχιστο 1, /baltop με τους 10 πρώτους, /eco give|take|set για coins.admin, αρχικό υπόλοιπο 100, δύο δεκαδικά, καταγραφή κάθε πληρωμής, υπόλοιπα σε SQLite, ονόματα νομίσματος και μηνύματα στο config.yml.”

Φτιάξ' το με το Codexe
Πώς να φτιάξεις ένα plugin οικονομίας για Minecraft (Vault, Paper) | Codexe