Skip to main content
Met de bankmodule hebben spelers geld op een bankrekening. Ze nemen geld op en storten het bij een pinautomaat, en betalen elkaar via een pinterminal. Alle bedragen zijn in euro.

Rekeningtypes

Er zijn vier soorten rekeningen. De namen van de types pas je aan in messages.yml (banking_private_account, banking_company_account, banking_savings_account, banking_government_account). Zet daar geen kleurcodes in. De plugin geeft de namen in de menu’s zelf een kleur, en messages.yml meldt dat kleuren daar niet ondersteund worden.

De privérekening

Elke speler krijgt bij de eerste keer joinen automatisch een privérekening. Die rekening heeft de spelersnaam als naam en start met het bedrag uit starting-balance. Je kunt zelf geen privérekening aanmaken. De privérekening is het saldo dat overal als “jouw geld” telt: bij Vault, bij de placeholders, bij pinbetalingen en bij het salaris. Het salaris stel je in bij Levels.

Andere rekeningen

Bedrijfs-, spaar- en overheidsrekeningen maak je aan met /rekening create. Een nieuwe rekening heeft een saldo van 0 en nog geen gebruikers. Ook degene die de rekening aanmaakt is geen gebruiker. Voeg spelers toe met /rekening adduser. Een rekeningnaam:
  • is 3 tot 24 tekens lang;
  • bevat alleen letters, cijfers en underscores (_), dus geen spaties;
  • is nog niet in gebruik. De plugin controleert alleen ingeladen rekeningen, dus niet de privérekeningen van offline spelers.

Rechten op een rekening

Elke gebruiker van een rekening heeft één recht. Een speler met DEPOSIT kan dus geen geld opnemen, en een speler met WITHDRAW kan niet storten. Op zijn eigen privérekening heeft een speler altijd ADMIN.

De pinautomaat

Een pinautomaat is een blok uit de lijst atm-materials in banking.yml. Standaard is dat RED_SANDSTONE_STAIRS. Klik op zo’n blok om de bank te openen. Met /rekening open open je hetzelfde menu.
1

Kies een type

Je ziet de vier rekeningtypes. Klik op een type. Heb je geen rekening van dat type, dan krijg je een melding.
2

Kies een rekening

Je ziet alle rekeningen van dat type waar je gebruiker van bent. Klik met linkermuis om de rekening te openen. Heb je ADMIN op de rekening, dan opent rechtermuis de transactiegeschiedenis.
3

Opnemen of storten

Het saldo staat als bankbiljetten in het menu. Zie hieronder.

Opnemen en storten

Het saldo van de rekening staat bovenin het menu als stapels bankbiljetten. Op de onderste rij staat van elk biljet er één.
  • Opnemen: klik op een biljet of een stapel in het menu. Je krijgt die biljetten in je inventory en het bedrag gaat van de rekening af. Je hebt WITHDRAW of ADMIN nodig.
  • Storten: klik terwijl het menu open is op bankbiljetten in je eigen inventory. De hele stapel wordt gestort. Je hebt DEPOSIT of ADMIN nodig.
Alleen biljetten die uit een pinautomaat komen tellen. Een gewone diamant is geen biljet van €200. De biljetten en hun waarde stel je in onder notes in banking.yml.

De pinterminal

Met een pinterminal laat een speler een andere speler betalen. Het geld gaat van de privérekening van de betaler naar een bedrijfs- of overheidsrekening. Een pinterminal is een blok uit pin-terminal-materials. Standaard is dat PURPUR_STAIRS.
1

Verzoek starten

De ontvanger klikt met rechtermuis op een pinterminal. Hij moet gebruiker zijn van minstens één bedrijfs- of overheidsrekening.
2

Rekening kiezen

De ontvanger kiest in het menu op welke rekening het geld moet komen.
3

Bedrag en speler typen

De ontvanger typt het bedrag in de chat. Het bedrag moet groter zijn dan 0. Daarna typt hij de naam van de speler die moet betalen. Die speler moet online zijn en binnen pin-transaction-max-distance blokken van de terminal staan.
4

Betalen

De betaler krijgt het verzoek in de chat. Rechtermuis op de pinterminal betaalt, linkermuis weigert. De betaler moet klikken op de terminal waar het verzoek is gestart, of op een terminal binnen de maximale afstand daarvan.
  • Heeft de betaler te weinig saldo, dan wordt de betaling geannuleerd.
  • Beide spelers kunnen een lopend verzoek annuleren met linkermuis op een pinterminal.
  • Na pin-transaction-timeout-seconds seconden (standaard 60) verloopt het verzoek.

Commando’s

/rekening heeft ook de aliassen /account en /accounts. /transacties heeft de alias /transactions.
  • /rekening open, /rekening list, /rekening delete en /transacties werken alleen in-game.
  • /rekening list toont gebruikers als UUID, niet als naam.
Een bevroren rekening blokkeert in deze versie nog geen stortingen, opnames of betalingen. De status is alleen zichtbaar in /rekening info en in de REST API.

Transacties

OpenMinetopia houdt een logboek bij van transacties op rekeningen. Per transactie slaat de plugin de tijd, de speler, het type, het bedrag, de rekening en een omschrijving op. Pinbetalingen, het salaris, de kosten van een levelcheck en wijzigingen via de REST API komen niet in het logboek. Bekijk de geschiedenis met /transacties <rekening>, of met rechtermuis op een rekening in het bankmenu als je ADMIN bent. Het menu laadt maximaal 250 transacties en toont die met de nieuwste eerst. Heeft een rekening meer dan 250 transacties, dan zijn dat niet per se de 250 nieuwste. Per transactie zie je het type, de datum, het bedrag en wie de transactie deed.
Ontwikkelaars kunnen luisteren naar TransactionUpdateEvent. Die wordt afgevuurd bij storten en opnemen bij een pinautomaat, bij /rekening setbalance, bij Vault en bij het salaris. Annuleer je het event, dan gaat de transactie niet door.

Vault

Staat Vault op je server, dan registreert OpenMinetopia zich als Vault-economy. In de console zie je dan Registered Vault economy handler. Andere plugins die Vault gebruiken werken zo met het geld van OpenMinetopia.
  • Het Vault-saldo van een speler is het saldo van zijn privérekening.
  • Bedrijfs-, spaar- en overheidsrekeningen zijn niet via Vault bereikbaar. De bank-functies van Vault zijn niet geïmplementeerd.
  • Bedragen worden opgemaakt met economy-format, met een € ervoor. De valutanaam is € in het enkelvoud en euro in het meervoud.
  • Vault controleert bij opnemen niet zelf of er genoeg saldo is. De plugin die opneemt moet dat eerst checken.
Vault werkt het best met online spelers. Voor een offline speler geeft Vault een saldo van -1 terug. Storten of opnemen bij een offline speler meldt Vault als mislukt, maar de wijziging wordt op de achtergrond wel op zijn rekening uitgevoerd.

Placeholders

In teksten van OpenMinetopia zelf, zoals het scoreboard en het chatformaat, gebruik je <balance> en <balance_formatted>. Zie Placeholders voor het volledige overzicht.

Configuratie

De instellingen staan in banking.yml. Dit is het standaardbestand:
pin-terminal-materials staat niet in het bestand dat de plugin meelevert. Bij de eerste start zet de plugin de key zelf onderaan banking:, met de standaardwaarde. Daar pas je hem aan:
De keys onder inventories staan in het bestand, maar worden in deze versie niet gebruikt. De titel van het typemenu pas je aan met banking_select_account_type in messages.yml.
Ongeldige materialen in atm-materials, pin-terminal-materials of notes worden overgeslagen, met een waarschuwing in de console. Na een wijziging in banking.yml laad je het bestand opnieuw met /openminetopia reload.