GrzybcioRynek

Mailbox

Skrzynka zwrotów — powody, GUI, pending-returns gdy mailbox.enabled jest false.

Kompatybilne z: GrzybcioRynek 1.0.3Minecraft 26.2Web 0.1.0

Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.

Skrzynka trzyma itemy, których nie dało się oddać od razu do ekwipunku. Serwis: MailboxService. Dane: market-data.ymlmailbox.<uuid>. GUI: MailboxGUI (54 sloty).

market.mailbox z plugin.yml nie jest sprawdzane w Javie.

Flaga mailbox.enabled

Domyślnie true.

enabledCo się dzieje przy deposit
trueWpis do skrzynki w market-data.yml
falseGracz online: addItem, reszta drop pod nogi. Offline: listings.ymlpending-returns.<uuid>

Komenda /market mailbox i przycisk browse (slot 48) otwierają GUI niezależnie od flagi. Flaga steruje dostarczaniem, nie widocznością menu.

Powody (reason)

PowódSkąd
expiredTimer wygaśnięcia / forceexpire
removedWłaściciel usunął ofertę (/market remove)
admin-removed/market admin remove
admin-refund/market admin refund … reclaim — item do skrzynki sprzedawcy
purchase-overflowZakup: addItem nie wcisnął całego stacka (po wcześniejszym canFit)

Lore GUI: messages.gui.mailbox.lore.reason z {reason}.

GUI

SlotRola
10–16, 19–25, 28–34Wpisy (hardcoded)
45Wstecz
48 / 50Strony
49Odbierz wszystko (claimAll)
53Wskaźnik strony

Klik = MailboxService.claim (atomowo zdejmuje wpis, przy braku miejsca przywraca + mailbox.inventory-full). Shift+klik = relist: zdejmuje wpis, pyta o cenę na czacie (relist.prompt). cancel / anulujrelist.cancelled i przywrócenie wpisu.

Pusta skrzynka: messages.mailbox.empty (barrier na slocie 22).

Wejście na serwer

PlayerJoinListener:

  • hint messages.mailbox.join-hint ({count}) gdy są wpisy,
  • dostarczenie pending-returns (gdy skrzynka była wyłączona),
  • powiadomienia pending-sales (sprzedaż gdy sprzedawca był offline); legacy pending-sales.by-name jest czyszczone przy joinie.

Odbiór

claim wymaga miejsca (InventoryUtil.canFit). claimAll przerywa na pierwszym nieudanym odbiorze.

Sukces: mailbox.claimed ({item}). Nowy depozyt online: mailbox.received.