GrzybcioRynek

Features

Rzeczywiste funkcje GrzybcioRynek 1.0.3 oraz klucze konfiguracji, które są ładowane, ale nieużywane.

Kompatybilne z: GrzybcioRynek 1.0.3Minecraft 26.2Web 0.1.0

Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.

Poniżej wyłącznie to, co jest w kodzie 1.0.3. Jeśli klucz jest wczytywany, ale nigdzie nie steruje zachowaniem, jest to zaznaczone wprost.

Rynek stałocenowy

Gracz trzyma przedmiot i wystawia go za kwotę z zakresu settings.min-pricesettings.max-price (domyślnie 1.01000000.0). Limit aktywnych ofert: settings.max-listings-per-player (domyślnie 10). Oferty wygasają po settings.listing-expiry-days dniach (domyślnie 7); timer czyści wygasłe oferty co 30 minut.

Kupno idzie przez GUI: przegląd → szczegóły (Detail) → potwierdzenie (Confirm). Płatność wyłącznie przez Vault, depozyt po UUID (bez fallbacku na nick).

Warning

/aukcje nie uruchamia aukcji. Otwiera to samo GUI przeglądania co /market.

Komendy gracza

Wymagane uprawnienie przy starcie komendy: market.use (egzekwowane). Wystawianie: dodatkowo market.sell (egzekwowane). /wystaw wymaga obu.

KomendaAliasy / wariantyUprawnienie
/marketah, rynekmarket.use
/market sell <cena>sprzedajmarket.sell
/market browseprzegladajmarket.use
/market remove <id>usunmarket.use (admin może każdą)
/market reloadmarket.reload lub market.admin
/market mymojemarket.use
/market searchszukajmarket.use
/market favoritesulubionemarket.use
/market historyhistoriamarket.use
/market statsstatystykimarket.use
/market mailboxskrzynkamarket.use
/market alertsalertmarket.use
/market alerts add <fraza> <max-cena>market.use
/market admin …market.admin
/wystaw <cena>market.use i market.sell
/aukcjerynek-gui, ah-guimarket.use

Wpisywanie na czacie można przerwać słowami cancel lub anuluj.

Narzędzia admina

/market admin (market.admin):

  • list
  • inspect <id>
  • remove <id>
  • forceexpire <id>
  • refund <tx-id> [reclaim]
  • selftest [seller] [buyer] — może stworzyć FakePlayer (SellerBot / BuyerBot)
  • reload

Reload jest blokowany, gdy istnieją zarezerwowane oferty (trwa zakup).

GUI i dane

  • Przeglądanie, kategorie, moje oferty, ulubione, historia, statystyki, skrzynka, alerty, profil sprzedawcy, szczegóły, potwierdzenie zakupu.
  • Rozmiar przeglądarki bierze się z gui.ymlbrowse.size (domyślnie 54).
  • Pasek akcji przeglądarki (sloty 45–53) jest zahardkodowany w MarketBrowseGUI, nie w YAML.
  • Sloty potwierdzenia zakupu są w gui.ymlconfirm.slots.

Dane: plugins/GrzybcioRynek/listings.yml oraz market-data.yml.

Prowizje i antynadużycia

yaml
market-fee:
  enabled: true
  listing-fee-percent: 0.0
  sale-fee-percent: 5.0
  minimum-fee: 0.0
  maximum-fee: 0.0   # 0 = brak limitu górnego
  sink-account: ""   # puste = spalenie prowizji
yaml
anti-abuse:
  enabled: true
  max-purchases-from-same-player: 20
  purchase-window-seconds: 86400
  max-transaction-value: 10000000
  listing-cooldown-seconds: 5

transactions.logging: true steruje logowaniem transakcji.

Funkcje przełączane flagą enabled

KluczDomyślnieCo naprawdę robi
favorites.enabledtrueWyłącza /market favorites (komunikat favorites.disabled)
price-alerts.enabledtrueWyłącza /market alerts (alerts.disabled); limit max-per-player: 10
mailbox.enabledtrueBramkuje skrzynkę
ratings.enabledtrueBramkuje oceny sprzedawców
anti-abuse.enabledtrueBramkuje limity zakupów / cooldown / max wartość
market-fee.enabledtruePrzy false obie prowizje = 0
history.enabledtrueTylko komenda /market historynie przycisk Historii w GUI przeglądania
stats.enabledtrueWczytywane, nigdy nie sprawdzane w Javie
Warning

settings.gui-rows: 6 jest ładowane (ConfigManager.guiRows), ale nieużywane. Wielkość GUI ustawia gui.yml.

Integracje

  • Vault — wymagane. ServicesManager + Economy. Format kwot: $X albo $X.XX.
  • Nexo — opcjonalne, refleksja com.nexomc.nexo.api.NexoItems (idFromItem, itemFromId.build()).
  • Oraxen — opcjonalne, io.th0rgal.oraxen.api.OraxenItems (getIdByItem, exists, getItemById.build()).
  • PlaceholderAPI — expansion grybciorynek, cache 20 ticków (8 placeholderów).
  • Essentials — tylko softdepend pod późny Vault; brak bezpośredniego API.

CustomItemsHook najpierw klonuje zapisany ItemStack. Przebudowa z ID packa tylko gdy zapisany item to AIR.

Uprawnienia z plugin.yml vs Java

Egzekwowane: market.use, market.sell, market.reload, market.admin.

Niesprawdzane w Javie (są w plugin.yml, default: true): market.history, market.mailbox, market.alerts. market.admin ma je jako children, ale komendy i tak wymagają tylko market.use.

Czego nie ma

  • Prawdziwych aukcji / bidów.
  • HTTP API i live-połączenia ze Strona/.
  • Pliku messages.yml.
  • Fallbacku Vault po nicku.