Oraxen problems
Reflective OraxenItems hook — missing plugin, API fail, exists() false, AIR.
Based on GrzybcioRynek 1.0.3 and web 0.1.0 source.
Oraxen is optional (softdepend). It works like Nexo, with a different API class.
Plugin not loaded
No Oraxen plugin → hook off, silent. getOraxenId = null.
API reflection
Class: io.th0rgal.oraxen.api.OraxenItems.
Methods: getIdByItem(ItemStack), exists(String), getItemById(String) + build().
Oraxen znaleziono, ale nie udało się załadować API: <msg>
Wykryto Oraxen! Włączono wsparcie dla niestandardowych przedmiotów.Incompatible Oraxen version = first message, hook disabled.
exists or ID changed
getOraxenItem first calls exists(id). false / null → null. Then getItemById + build().
Like Nexo: a healthy stored stack is not rebuilt. Problem on AIR + non-existent ID.
CustomItemsHook on AIR tries Nexo first, then Oraxen.
AIR and missing ID
Buying AIR: Ten przedmiot nie jest już dostępny!. Expiry / remove may return AIR to the mailbox.
/market admin inspect <id> → line Oraxen: <id>.