Problemy z GUI
Puste listing-slots, brak ofert, filtr search i zahardkodowany pasek browse 45–53.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
GUI to inventory Bukkit. Pusty widok ma trzy realne przyczyny w 1.0.3.
1. Złe listing-slots
gui.yml → browse.listing-slots (domyślnie 10–16, 19–25, 28–34). GuiConfigManager wkłada oferty tylko w te sloty.
Jeśli tablica jest pusta albo sloty wychodzą poza browse.size (domyślnie 54), siatka ofert jest pusta mimo danych w listings.yml.
Pasek akcji 45–53 jest zahardkodowany w MarketBrowseGUI. Wpisanie listingów na 45–53 nachodzi na Szukaj / Sort / Kategorie / …
settings.gui-rows nie steruje rozmiarem — tylko browse.size.
2. Brak ofert
ListingQueryService czyta StorageManager.getAllListings(). Zero ofert = puste sloty + filler (gdy filler.enabled).
Sprawdź log startu: Załadowano <n> aktywnych ofert. oraz /market admin list.
3. Filtr wyszukiwania
/market search <fraza> albo przycisk Szukaj ustawia BrowseContext.searchQuery. ItemSearchUtil.matches wymaga trafienia w:
Material.namealbo nazwę ze spacjami,- display name / lore (bez kolorów),
nexoId/oraxenId,- nick sprzedawcy,
#idalbo sam numer.
Brak trafienia: GUI puste, ewentualnie search.no-results przy komendzie. Anulowanie czatu: cancel / anuluj.
Filtr kategorii (MarketCategory) też ukrywa oferty (siekiery są w WEAPONS).
Filler i ramka
browse.filler.enabled: false wyłącza szklane puste sloty. To nie ukrywa ofert — tylko tło.
/market reload przeładowuje gui.yml (GuiConfigManager.reload). Reload jest blokowany przy zarezerwowanych ofertach.
Klik nie działa
InventoryGUI.onClick anuluje event i obsługuje tylko górne inventory. Klik w ekwipunek gracza jest ignorowany. Nieobsłużony slot (filler) ma pusty consumer.
Historia z GUI vs komenda
history.enabled: false blokuje /market history (hardcoded Historia transakcji jest wyłączona.). Przycisk Historii na browse (slot 53) nie sprawdza tej flagi.