857cf6ad30
PlayerKeyValueRepository<V> is a key/value store whose keys are Strings and whose value type is parameterized by V. Each repository is backed by a MySQL table in the Accounts database. Access to PlayerKeyValueRepository's values is restricted via CompletableFuture to enforce async database access. BukkitFuture contains helpful utilities for producing, transforming, and terminating CompletableFutures with actions on the main thread. A typical PlayerKeyValueRepository action may look similar to the following, where we retrieve all key/value pairs for a player and perform an action with the result on the main thread: PlayerKeyValueRepository<String> repo = [...]; // init repo UUID uuid = [...]; // a player's UUID repo.getAll(uuid).thenCompose(BukkitFuture.accept(values -> { // this will be run on the main thread! // `values` is of type `Map<String,String>` })); |
||
---|---|---|
.. | ||
core |