+ * This can then be deserialized into ItemStacks and other usable values using the {@code DataSerializer} class. + *
+ * If no data could be returned, such as if an invalid UUID is specified, the CompletableFuture will be cancelled.
*
* @param playerUUID The {@link UUID} of the player to get data for
* @return a {@link CompletableFuture} with the user's {@link PlayerData} accessible on completion
* @throws IOException If an exception occurs with serializing during processing of the request
+ * @apiNote This only returns the latest saved and cached data of the user. This is not necessarily the current state of their inventory if they are online.
*/
public CompletableFuture
+ * If the player is online on the Proxy network, they will be updated and overwritten with this data.
*
* @param playerData The {@link PlayerData} (which contains the {@link UUID}) of the player data to update to the central cache and database
* @throws IOException If an exception occurs with serializing during processing of the update
@@ -71,7 +75,7 @@ public class HuskSyncAPI {
final String serializedPlayerData = RedisMessage.serialize(playerData);
new RedisMessage(RedisMessage.MessageType.PLAYER_DATA_UPDATE,
new RedisMessage.MessageTarget(Settings.ServerType.PROXY, null, Settings.cluster),
- serializedPlayerData).send();
+ serializedPlayerData, Boolean.toString(true)).send();
}
}
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index ab426c50..859e6507 100644
--- a/build.gradle
+++ b/build.gradle
@@ -19,6 +19,7 @@ allprojects {
compileJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'
+ javadoc.options.addStringOption('Xdoclint:none', '-quiet')
compileJava.options.release.set 16
@@ -50,7 +51,7 @@ subprojects {
version rootProject.version
archivesBaseName = "${rootProject.name}-${project.name.capitalize()}"
- if (['bukkit', 'bungeecord', 'velocity', 'api', 'plugin'].contains(project.name)) {
+ if (['bukkit', 'api', 'bungeecord', 'velocity', 'plugin'].contains(project.name)) {
shadowJar {
destinationDirectory.set(file("$rootDir/target"))
archiveClassifier.set('')
diff --git a/bukkit/build.gradle b/bukkit/build.gradle
index 6febf18e..75855dfa 100644
--- a/bukkit/build.gradle
+++ b/bukkit/build.gradle
@@ -1,5 +1,4 @@
dependencies {
- implementation project(':api')
implementation project(path: ':common')
implementation 'org.bstats:bstats-bukkit:3.0.0'
diff --git a/api/src/main/java/net/william278/husksync/bukkit/data/DataSerializer.java b/bukkit/src/main/java/net/william278/husksync/bukkit/data/DataSerializer.java
similarity index 100%
rename from api/src/main/java/net/william278/husksync/bukkit/data/DataSerializer.java
rename to bukkit/src/main/java/net/william278/husksync/bukkit/data/DataSerializer.java
diff --git a/bukkit/src/main/java/net/william278/husksync/bukkit/data/DataViewer.java b/bukkit/src/main/java/net/william278/husksync/bukkit/data/DataViewer.java
index 24f2a299..fa7dd32f 100644
--- a/bukkit/src/main/java/net/william278/husksync/bukkit/data/DataViewer.java
+++ b/bukkit/src/main/java/net/william278/husksync/bukkit/data/DataViewer.java
@@ -58,7 +58,7 @@ public class DataViewer {
// Send a redis message with the updated data after the viewing
new RedisMessage(RedisMessage.MessageType.PLAYER_DATA_UPDATE,
new RedisMessage.MessageTarget(Settings.ServerType.PROXY, null, Settings.cluster),
- RedisMessage.serialize(playerData))
+ RedisMessage.serialize(playerData), Boolean.toString(true))
.send();
}
diff --git a/api/src/main/java/net/william278/husksync/bukkit/api/events/SyncCompleteEvent.java b/bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncCompleteEvent.java
similarity index 95%
rename from api/src/main/java/net/william278/husksync/bukkit/api/events/SyncCompleteEvent.java
rename to bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncCompleteEvent.java
index 43b7fdb3..2d5a8243 100644
--- a/api/src/main/java/net/william278/husksync/bukkit/api/events/SyncCompleteEvent.java
+++ b/bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncCompleteEvent.java
@@ -1,4 +1,4 @@
-package net.william278.husksync.bukkit.api.events;
+package net.william278.husksync.bukkit.events;
import net.william278.husksync.PlayerData;
import org.bukkit.entity.Player;
diff --git a/api/src/main/java/net/william278/husksync/bukkit/api/events/SyncEvent.java b/bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncEvent.java
similarity index 97%
rename from api/src/main/java/net/william278/husksync/bukkit/api/events/SyncEvent.java
rename to bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncEvent.java
index a8e8976b..650f117b 100644
--- a/api/src/main/java/net/william278/husksync/bukkit/api/events/SyncEvent.java
+++ b/bukkit/src/main/java/net/william278/husksync/bukkit/events/SyncEvent.java
@@ -1,4 +1,4 @@
-package net.william278.husksync.bukkit.api.events;
+package net.william278.husksync.bukkit.events;
import net.william278.husksync.PlayerData;
import org.bukkit.entity.Player;
diff --git a/bukkit/src/main/java/net/william278/husksync/bukkit/listener/BukkitRedisListener.java b/bukkit/src/main/java/net/william278/husksync/bukkit/listener/BukkitRedisListener.java
index 28f972f5..6d6ec97a 100644
--- a/bukkit/src/main/java/net/william278/husksync/bukkit/listener/BukkitRedisListener.java
+++ b/bukkit/src/main/java/net/william278/husksync/bukkit/listener/BukkitRedisListener.java
@@ -4,7 +4,6 @@ import de.themoep.minedown.MineDown;
import net.william278.husksync.HuskSyncBukkit;
import net.william278.husksync.PlayerData;
import net.william278.husksync.Settings;
-import net.william278.husksync.bukkit.api.HuskSyncAPI;
import net.william278.husksync.bukkit.config.ConfigLoader;
import net.william278.husksync.bukkit.data.DataViewer;
import net.william278.husksync.bukkit.migrator.MPDBDeserializer;
@@ -17,13 +16,17 @@ import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.io.IOException;
+import java.util.HashMap;
import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
import java.util.logging.Level;
public class BukkitRedisListener extends RedisListener {
private static final HuskSyncBukkit plugin = HuskSyncBukkit.getInstance();
+ public static HashMap