Problemy z Nexo
Hook refleksyjny NexoItems — plugin niezaładowany, API nie wstaje, ID zmienione, AIR.
Na podstawie kodu GrzybcioRynek 1.0.3 i web 0.1.0.
Wsparcie Nexo jest opcjonalne. Brak Nexo = zwykłe ItemStack w YAML.
Plugin niezaładowany
getPlugin("Nexo") == null → hook wyłączony, bez logu błędu. getNexoId zwraca null. Oferty vanilla działają.
softdepend: [Nexo, ...]. Nexo musi być w plugins/ i startować z serwerem.
Refleksja API nie wstaje
Oczekiwana klasa: com.nexomc.nexo.api.NexoItems. Metody: idFromItem(ItemStack), itemFromId(String) + build() na builderze.
Nexo znaleziono, ale nie udało się załadować API: <msg>Hook zostaje wyłączony. Przyczyna: inna wersja Nexo bez tych metod / inny pakiet.
Sukces:
Wykryto Nexo! Włączono wsparcie dla niestandardowych przedmiotów.ID zmienione w packu
Przy wystawieniu ID jest zapisane w listings.yml (nexoId). CustomItemsHook.recreateItem nie przebudowuje zdrowego stacka. Zmiana ID w packu psuje odtworzenie dopiero gdy zapisany item jest AIR.
Zapisany AIR i brak ID
Jeśli stack w YAML to AIR:
- próba
NexoHook.getNexoItem(nexoId); null(ID usunięte / API fail) → próba Oraxen, potem AIR.
Zakup: buy.not-available (Ten przedmiot nie jest już dostępny!).
Wyjątki w idFromItem / itemFromId są łapane i zwracają null — bez stacktrace w logu.
Diagnostyka
/market admin inspect <id> pokazuje Nexo: <id>. Porównaj z aktualnym packiem Nexo.