Install your own theme
- Obtain legitimate ItemsAdder v4 and matching ProtocolLib runtime plugins supported by the target server. See the existing representative environment. An API JAR alone cannot run the feature.
- Install the theme’s own ItemsAdder namespace following its instructions, and place its KiteMarket declaration in
plugins/KiteMarket/themes/*.yml. A Java theme also needs its provider plugin. Working configuration and Java examples are described in interface development. - Following the installed IA guide, manually run
/iareload, wait for completion, then/iazipto rebuild and send the pack. KiteMarket does not run third-party rebuild commands for administrators. - Register the SHA-1 (40 hexadecimal digits) and UUID of the actual sent pack containing the theme. Temporarily enable
gui.itemsadder.diagnostics: truewith/km reloadto inspect the observed UUID, SHA-1 and URL in[KITEMARKET_PACK]. Register them, run/km reloadagain, then disable diagnostics. - After successfully loading that pack, players use
/km ui itemsadder example-ia, or/km ui autoonce the theme is configured as a default./km uishows the actual interface and fallback reason.
example-ia must identify an installed theme. Replace the pack-identity placeholders below with actual observed values:
gui.default-themes: {} when no IA theme is installed. Third-party declarations may register a separate pack through requires; see the developer guide. Invalid candidates preserve the current valid configuration. Themes need no KiteMC product ID or download endpoint.
Use and fallback
Preferences persist per market network and player across nodes. Missing themes or fallback do not overwrite them. Switching preserves publishing drafts and cannot submit a trade twice. Both interfaces share actual items, listing versions, quotes, final inventory checks and operation IDs.
Registered resources, the adapter and successful loading of the specific pack by this player must be ready. Sending or accepting is not successful loading. Rejection, failure, discard/removal of that pack or mismatched identity causes fallback; unrelated packs do not erase IA readiness. Disconnects, node changes, removal of all packs and IA reload require confirmation again. Changed content requires a new actual sent UUID and matching digest; a random UUID entered only in KiteMarket or a different digest assigned to a registered UUID is insufficient.