9
0
mirror of https://github.com/WiIIiam278/HuskSync.git synced 2025-12-23 00:29:18 +00:00

api: add cross-platform API support

This commit is contained in:
William278
2024-01-24 23:25:37 +00:00
parent 9da3ff5281
commit 685431a40d
7 changed files with 81 additions and 52 deletions

View File

@@ -38,14 +38,17 @@ import java.util.UUID;
import java.util.concurrent.CompletableFuture;
/**
* The base implementation of the HuskSync API, containing cross-platform API calls.
* The common implementation of the HuskSync API, containing cross-platform API calls.
* </p>
* This class should not be used directly, but rather through platform-specific extending API classes.
* Retrieve an instance of the API class via {@link #getInstance()}.
*
* @since 2.0
*/
@SuppressWarnings("unused")
public abstract class HuskSyncAPI {
public class HuskSyncAPI {
// Instance of the plugin
protected static HuskSyncAPI instance;
/**
* <b>(Internal use only)</b> - Instance of the implementing plugin.
@@ -60,6 +63,20 @@ public abstract class HuskSyncAPI {
this.plugin = plugin;
}
/**
* Entrypoint to the HuskSync API on the common platform - returns an instance of the API
*
* @return instance of the HuskSync API
* @since 3.3
*/
@NotNull
public static HuskSyncAPI getInstance() {
if (instance == null) {
throw new NotRegisteredException();
}
return instance;
}
/**
* Get a {@link User} by their UUID
*