Opas
Miten tehdä Minecraft-talousplugin
Päivitetty 18. lokakuuta 2026
Talousplugin pitää kirjaa jokaisen pelaajan saldosta ja antaa pelaajien maksaa toisilleen, ansaita rahaa ja käyttää sitä kaupoissa. Tärkeintä eivät ole komennot vaan Vault-liitäntä: sen ansiosta kauppa-, työ- ja huutokauppapluginit voivat käyttää rahaasi. Tämä opas käy läpi suunnittelun, tallennuksen sekä koonnin ja testauksen.
Aloita tästä esimerkistä ja vaihda säännöt omiksesi.
Generoi tämä CodexellaVaihe vaiheelta
1.Päätä, mikä plugin on
Joko se on talous (se tallentaa saldot ja rekisteröi itsensä Vaultin taloudeksi), tai se käyttää olemassa olevaa taloutta Vaultin kautta (kauppa, palkkiot, työplugin). Useimmat palvelimet tarvitsevat yhden kumpaakin, eivät kahta taloutta.
2.Valitse palvelin ja versio
Kirjoita palvelinohjelmisto ja versio, esimerkiksi Paper 1.21.4. Plugin kootaan kyseisen version API:lle ja Java-tasolle.
3.Listaa komennot ja säännöt
/balance,/pay <player> <amount>,/baltopja ylläpitokomennot, kuten/eco give|take|set. Lisää aloitussaldo, valuutan nimi, desimaalit ja vähimmäismaksu.4.Valitse, minne saldot tallennetaan
SQLite yhdelle palvelimelle, MySQL, jos usean palvelimen täytyy jakaa samat saldot. Rahan täytyy säilyä uudelleenkäynnistysten ja kaatumisten yli, joten sitä ei koskaan pidetä pelkästään muistissa.
5.Anna Codexen kirjoittaa ja koota se
Kuvaile plugin ja mainitse Vault erikseen, jotta se lisätään riippuvuudeksi. Codexe kirjoittaa Java-koodin, tiedostot
plugin.ymljaconfig.yml, kääntää sen ja korjaa koontivirheet ennen kuin projekti on valmis.6.Testaa maksut pelissä
Paina Kokeile heti ja liity testipalvelimelle. Maksa kahden tilin välillä, kokeile liian suuria, negatiivisia ja muita kuin numeerisia summia, käynnistä sitten uudelleen ja tarkista, että saldot ovat yhä tallessa.
7.Asenna se
Laita Vault ja .jar-tiedostosi palvelimen
plugins/-kansioon ja käynnistä uudelleen. Poista muut talouspluginit tai päätä, mitä niistä Vault käyttää.
Miten Vault sopii kuvioon
Vault on silta, ei talous. Talousplugin toteuttaa Vaultin Economy-rajapinnan ja rekisteröi sen palvelimen palvelunhallintaan; muut pluginit pyytävät sitä kutsulla getServer().getServicesManager().getRegistration(Economy.class) ja kutsuvat metodeja, kuten getBalance, withdrawPlayer ja depositPlayer.
Kauppapluginin ei siis koskaan tarvitse tietää, mitä taloutta käytät. Käytä tiedostossa plugin.yml riviä depend: [Vault], kun plugin ei toimi ilman sitä, tai softdepend, kun Vault on valinnainen. Vault API tarvitaan vain kääntämiseen; itse Vault asennetaan palvelimelle.
Pyyntöön kirjattavat päätökset
- Rahan muoto: valuutan nimi yksikössä ja monikossa, symboli ja desimaalien määrä.
- Rajat: aloitussaldo, enimmäissaldo ja se, voiko saldo mennä negatiiviseksi.
- Offline-pelaajat: toimivatko
/payja/ecopelaajiin, jotka eivät ole paikalla. - Lokitus: tapahtumaloki tietokantaan tai tiedostoon, jotta henkilökunta voi selvittää kiistat.
- Rahan ansaitseminen: mobien tappaminen, peliaikapalkkiot, esineiden myynti tai pelkät ylläpitokomennot.
Minne saldot tallennetaan
| Tallennus | Sopii | Varo |
|---|---|---|
| YAML-tiedosto | Hyvin pienet palvelimet, helppo lukea | Hidas, kun pelaajia on paljon, korruptoituu helposti kaatuessa |
| SQLite | Yksi palvelin, ei asetuksia | Ei voi jakaa palvelinten kesken |
| MySQL / MariaDB | Verkostot, joilla on yhteinen saldo | Vaatii tietokantapalvelimen ja kirjautumistiedot config.yml-tiedostoon |
Esimerkkikuvaus
"Paper 1.21.4 -talousplugin nimeltä Coins, joka rekisteröi itsensä Vaultin taloudeksi. /balance [player], /pay <player> <amount> vähimmäissummalla 1, /baltop kymmenellä parhaalla ja /eco give|take|set pelaajille, joilla on coins.admin. Uudet pelaajat aloittavat 100 kolikolla. Kaksi desimaalia. Jokainen maksu kirjataan päivämäärän, lähettäjän, vastaanottajan ja summan kanssa. Saldot tallennetaan SQLiteen. Valuutan nimet ja kaikki viestit config.yml-tiedostossa."
Codexe käyttää oletuksena SQLiteä, kun et pyydä muuta. Jos pyydät MySQL:ää, plugin kirjoitetaan storage-type-asetuksella, ja testipalvelin antaa sille oman MySQL-tietokannan kokeilun ajaksi.
Kysymykset
Tarvitsenko Vaultin?
Et erilliseen talouteen, jota mikään muu ei käytä. Tarvitset sen heti, kun muiden pluginien (kauppojen, töiden, huutokauppojen) täytyy lukea tai muuttaa saldoja, koska ne etsivät juuri sitä API:a.
Voiko sitä ajaa EssentialsX:n rinnalla?
EssentialsX:llä on oma talous, jonka se myös rekisteröi Vaultiin. Aja yhtä taloutta kerrallaan tai poista käytöstä se, jota et halua, muuten muut pluginit saattavat käyttää eri saldoa kuin komentojesi näyttämä.
Voivatko useat palvelimet jakaa samat saldot?
Kyllä, kun tallennuksena on MySQL tai MariaDB ja jokaisen palvelimen config.yml-tiedostossa on sama tietokanta. Pyydä sitä pyynnössä, jotta plugin lukee saldot tietokannasta eikä pidä niitä välimuistissa liian pitkään.
Miten testaan sitä ilman oikeaa palvelinta?
Kokeile heti -toiminnolla: versiosi yksityinen Paper-palvelin käynnistyy käännetyn pluginin kanssa, ja kohdissa depend ja softdepend listatut pluginit, kuten Vault, asennetaan sitä varten. Free-tilauksessa on 3 testipalvelinta päivässä, kukin 10 minuuttia.
Tee palvelimesi talous
Tämä kehote aukeaa valmiina lähetettäväksi:
“Paper 1.21.4 -talousplugin nimeltä Coins, joka rekisteröityy Vaultin taloudeksi: /balance, /pay vähimmäissummalla 1, /baltop kymmenen parasta, /eco give|take|set oikeudella coins.admin, aloitussaldo 100, kaksi desimaalia, jokainen maksu kirjataan, saldot SQLitessä, valuutan nimet ja viestit config.yml-tiedostossa.”
Generoi tämä Codexella