Skip to main content

Reference the SDK

Project examples reference SDK Maven coordinates on GitHub Packages. Direct GitHub Releases downloads remain a fallback. Both provide the same public interfaces without the proprietary trading core.

GitHub Packages

The registry is https://maven.pkg.github.com/kitemc/KiteMarket. The release workflow uploads both SDKs, sources, Javadoc and POM files after the corresponding stable release. Check the public repository’s Packages list for the version before using it. The configuration below does not mean the version has already been uploaded. Runtime plugins, examples and language/configuration bundles remain on GitHub Releases.

Download authentication

GitHub’s Maven/Gradle registry requires authentication even for public packages. Locally, use a personal access token (classic) with read:packages and your GitHub username. Read-only downloads do not need write:packages. Store credentials in the user-level ~/.gradle/gradle.properties, never in project files or Git:

Gradle Kotlin DSL

Alternatively, provide the same download credentials through GITHUB_ACTOR/GITHUB_TOKEN environment variables. Retain the project’s existing Paper/Bukkit compile dependency and registry.

Maven

In a Maven project’s pom.xml, add the registry and dependency:
Add a matching server in the user-level ~/.m2/settings.xml, reading credentials from environment variables. If the file exists, merge only the server entry:

Check authentication and the version

For 401/403, check the token type, scopes, expiry and username. For 404, also check the coordinates and whether the version is published. GitHub’s Gradle and Maven documentation defines registry authentication.

Release-download fallback

For offline development or when Packages authentication is unavailable, download the matching KiteMarket-API-1.0.0.jar directly from GitHub Releases and manage it as a compile-only dependency. Release-file downloads do not require a Packages Token. The public repository provides interface sources, Javadoc and runnable examples. This fallback does not change the runtime requirements below.

Runtime requirements

Add depend: [KiteMarket] to plugin.yml. If your plugin also works without the market, use softdepend, but load classes referencing the API only after confirming the host exists. Do not bundle, shade or relocate the SDK. KiteMarket supplies the unique runtime interface classes; duplicate copies can prevent service lookup. The SDK JAR is not a server plugin.

Market queries and notifications

Service registration, asynchronous queries, immutable DTOs and post-commit notifications.

Java UI example

Compile dependencies for the UI SDK, Paper and ItemsAdder.