Commands
Składnia, aliasy, uprawnienia i błędy komend /market, /wystaw i /aukcje w GrzybcioRynek 1.0.3.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
Trzy klasy komend: MarketCommand (/market), WystawCommand (/wystaw), AukcjeCommand (/aukcje). Pakiet: com.example.marketplace.commands. Plugin 1.0.3, Paper 26.2.
Na starcie /market i /aukcje wymagają market.use. Wystawianie wymaga dodatkowo market.sell. /wystaw wymaga obu.
/aukcje nie uruchamia licytacji. Otwiera to samo GUI przeglądania co /market. Nie ma bidów ani przebijania ceny.
Nie ma komendy /market buy. Zakup jest wyłącznie przez GUI: przegląd → szczegóły (MarketDetailGUI) → potwierdzenie (MarketConfirmGUI).
Przegląd
| Komenda | Aliasy | Uprawnienie | Co robi |
|---|---|---|---|
/market | ah, rynek | market.use | Otwiera GUI przeglądania |
/market sell <cena> | sprzedaj | market.sell | Wystawia przedmiot z głównej ręki |
/market browse | przegladaj | market.use | Otwiera GUI przeglądania |
/market remove <id> | usun | market.use (właściciel) lub market.admin | Usuwa ofertę |
/market reload | — | market.reload lub market.admin | Przeładowuje konfigurację i dane |
/market my | moje | market.use | GUI własnych ofert |
/market search <fraza> | szukaj | market.use | Przeglądanie z filtrem wyszukiwania |
/market favorites | ulubione | market.use | GUI ulubionych — tylko gdy favorites.enabled |
/market history | historia | market.use | GUI historii — tylko gdy history.enabled (komenda) |
/market stats | statystyki | market.use | GUI statystyk |
/market mailbox | skrzynka | market.use | GUI skrzynki |
/market alerts | alert | market.use | GUI alertów — gdy price-alerts.enabled |
/market alerts add <fraza> <max-cena> | alert add | market.use | Dodaje alert z czatu |
/market admin … | — | market.admin | Narzędzia administratora |
/wystaw <cena> | — | market.use i market.sell | To samo co /market sell |
/aukcje | rynek-gui, ah-gui | market.use | Otwiera GUI przeglądania |
Konsola może wykonać reload i admin. Pozostałe podkomendy wymagają gracza (messages.player-only).
/market
Składnia: /market [podkomenda]
Aliasy: ah, rynek
Uprawnienie: market.use (sprawdzane w Javie, default: true)
Przykłady:
/market
/rynek
/ah browse
Błędy:
| Sytuacja | Komunikat |
|---|---|
Brak market.use | messages.no-permission |
| Konsola bez podkomendy gracza | messages.player-only |
| Nieznana podkomenda | messages.usage.main |
Bez argumentów otwiera MarketBrowseGUI.
/market sell / sprzedaj
Składnia: /market sell <cena>
Aliasy: sprzedaj
Uprawnienie: market.sell (po wcześniejszym market.use)
Wystawia cały stack z głównej ręki za stałą cenę. ID oferty nadaje listings.yml → next-id (autoinkrement).
Przykłady:
/market sell 1500
/market sprzedaj 99.99
Błędy:
| Sytuacja | Komunikat |
|---|---|
Brak market.sell | messages.no-permission |
| Brak ceny | messages.usage.sell |
| Pusta ręka / AIR | messages.sell.air-item |
Cena poza min-price…max-price albo nie-liczba | messages.sell.invalid-price ({min}, {max}) |
| Limit ofert | messages.sell.limit-reached ({limit}) |
| Cooldown wystawiania | messages.anti-abuse.cooldown ({seconds}) |
| Brak kasy na prowizję wystawienia | messages.fee.not-enough-listing ({fee}) |
| Ręka zmieniła się w trakcie | messages.sell.no-item |
Sukces: messages.sell.success ({item}, {price}). Przy prowizji wystawienia dodatkowo messages.fee.listing. Potem hint cenowy (messages.price-hint albo price-hint-none).
/market browse / przegladaj
Składnia: /market browse
Aliasy: przegladaj
Uprawnienie: market.use
Otwiera to samo GUI co samo /market.
/market browse
/rynek przegladaj
/market remove / usun
Składnia: /market remove <id>
Aliasy: usun
Uprawnienie: właściciel oferty (market.use) albo market.admin
Właściciel dostaje item z powodem skrzynki removed. Admin zwraca item sprzedawcy z powodem admin-removed. Ulubione z tym ID są czyszczone.
Przykłady:
/market remove 42
/market usun 42
Błędy:
| Sytuacja | Komunikat |
|---|---|
| Brak / nie-liczba ID | messages.usage.remove |
| Brak oferty | messages.remove.not-found ({id}) |
| Nie Twoja oferta i nie admin | messages.remove.not-owner |
| Oferta zarezerwowana (trwa zakup) | messages.buy.listing-locked |
Sukces: messages.remove.success ({id}).
/market reload
Składnia: /market reload
Uprawnienie: market.reload lub market.admin (default: op)
Zapisuje dane, robi .bak, przeładowuje config.yml + gui.yml, wczytuje listings.yml + market-data.yml, czyści wygasłe oferty.
Reload jest blokowany, gdy istnieją zarezerwowane oferty (reservedListings — trwa zakup). Komunikat: Trwają aktywne transakcje — spróbuj ponownie za chwilę.
Sukces: messages.reload.success.
/market my / moje
Składnia: /market my
Aliasy: moje
Uprawnienie: market.use
Otwiera MyListingsGUI (54 sloty). Puste: messages.my.no-listings.
/market my
/rynek moje
/market search / szukaj
Składnia: /market search <fraza>
Aliasy: szukaj
Uprawnienie: market.use
Otwiera przeglądarkę z BrowseContext i frazą. Fraza może mieć spacje (reszta argumentów sklejana).
Przykłady:
/market search diament
/market szukaj enchanted book
Brak frazy: messages.usage.search.
Wyszukiwanie z GUI (kompas, slot 45) prosi o frazę na czacie (messages.search.prompt). Anulowanie: cancel albo anuluj.
/market favorites / ulubione
Składnia: /market favorites
Aliasy: ulubione
Uprawnienie: market.use (flaga favorites.enabled, nie osobne permission w Javie)
Gdy favorites.enabled: false → messages.favorites.disabled. W przeciwnym razie FavoritesGUI.
Przycisk ulubionych w browse (slot 51) sprawdza tę samą flagę.
/market history / historia
Składnia: /market history
Aliasy: historia
Uprawnienie: market.use
history.enabled bramkuje tylko tę komendę. Przycisk Historii w GUI przeglądania (slot 53, BOOK) nie sprawdza flagi i otwiera HistoryGUI zawsze.
Gdy history.enabled: false, komenda wysyła zahardkodowany tekst: Historia transakcji jest wyłączona. (nie klucz z messages.*).
market.history z plugin.yml nie jest sprawdzane w Javie.
/market stats / statystyki
Składnia: /market stats
Aliasy: statystyki
Uprawnienie: market.use
Otwiera StatsGUI (27 slotów). stats.enabled jest wczytywane i nieużywane — komenda i przycisk (slot 49) działają niezależnie od tej flagi.
/market mailbox / skrzynka
Składnia: /market mailbox
Aliasy: skrzynka
Uprawnienie: market.use
Otwiera MailboxGUI. Komenda nie sprawdza mailbox.enabled ani market.mailbox (permission z plugin.yml nieużywane w Javie). Flaga mailbox.enabled steruje tym, gdzie ląduje item przy zwrocie — nie tym, czy GUI się otworzy.
/market alerts / alert
Składnia:
/market alerts
/market alerts add <fraza> <max-cena>
Aliasy: alert
Uprawnienie: market.use + flaga price-alerts.enabled
Bez add otwiera AlertsGUI. add zapisuje alert w market-data.yml.
Przykłady:
/market alerts
/market alert add diamentowy miecz 5000
Błędy:
| Sytuacja | Komunikat |
|---|---|
price-alerts.enabled: false | messages.alerts.disabled |
add bez frazy/ceny albo zła liczba | messages.usage.alerts |
Limit price-alerts.max-per-player | messages.alerts.limit ({limit}) |
Sukces add: messages.alerts.created ({query}, {price}).
market.alerts z plugin.yml nie jest sprawdzane w Javie.
/market admin
Składnia: /market admin <list|inspect|remove|forceexpire|refund|selftest|reload>
Uprawnienie: market.admin (default: op)
Bez podkomendy: lista składni na czacie. Szczegóły: Admin Tools.
| Podkomenda | Składnia |
|---|---|
list | /market admin list |
inspect | /market admin inspect <id> |
remove | /market admin remove <id> |
forceexpire | /market admin forceexpire <id> |
refund | /market admin refund <tx-id> [reclaim] |
selftest | /market admin selftest [seller] [buyer] |
reload | /market admin reload |
selftest bez nicków spawnuje FakePlayer SellerBot / BuyerBot. Reload admina ma ten sam lock na zarezerwowane oferty.
/wystaw
Składnia: /wystaw <cena>
Aliasy: brak
Uprawnienie: market.use oraz market.sell (oba naraz)
To samo MarketManager.sellItem co /market sell. Pusta ręka: sell.no-item (gdy item == null) albo sell.air-item. Brak ceny: messages.usage.wystaw.
/wystaw 250
/aukcje
Składnia: /aukcje
Aliasy: rynek-gui, ah-gui
Uprawnienie: market.use
Otwiera MarketBrowseGUI na stronie 1. Nie ma argumentów, licytacji ani stawiania bidów.
/aukcje
/rynek-gui
/ah-gui
Tab complete
Przy market.use podpowiadane są: sell, sprzedaj, browse, przegladaj, remove, usun, reload, my, moje, search, szukaj, favorites, ulubione, history, historia, stats, statystyki, mailbox, skrzynka, alerts, alert. admin tylko przy market.admin.
Czego nie ma
/market buy— zakup tylko GUI.- Osobnej komendy licytacji.
- Sprawdzania
market.history/market.mailbox/market.alertsw Javie.