diff --git a/common/src/main/java/net/william278/husksync/sync/LockstepDataSyncer.java b/common/src/main/java/net/william278/husksync/sync/LockstepDataSyncer.java index 85d2b3d4..b51485a8 100644 --- a/common/src/main/java/net/william278/husksync/sync/LockstepDataSyncer.java +++ b/common/src/main/java/net/william278/husksync/sync/LockstepDataSyncer.java @@ -45,15 +45,15 @@ public class LockstepDataSyncer extends DataSyncer { @Override public void setUserData(@NotNull OnlineUser user) { this.listenForRedisData(user, () -> { - if (getRedis().getUserCheckedOut(user).isEmpty()) { - getRedis().setUserCheckedOut(user, true); - getRedis().getUserData(user).ifPresentOrElse( - data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED), - () -> this.setUserFromDatabase(user) - ); - return true; + if (getRedis().getUserCheckedOut(user).isPresent()) { + return false; } - return false; + getRedis().setUserCheckedOut(user, true); + getRedis().getUserData(user).ifPresentOrElse( + data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED), + () -> this.setUserFromDatabase(user) + ); + return true; }); } diff --git a/common/src/main/java/net/william278/husksync/user/OnlineUser.java b/common/src/main/java/net/william278/husksync/user/OnlineUser.java index 33ae53b6..9b7b9d52 100644 --- a/common/src/main/java/net/william278/husksync/user/OnlineUser.java +++ b/common/src/main/java/net/william278/husksync/user/OnlineUser.java @@ -125,7 +125,7 @@ public abstract class OnlineUser extends User implements CommandUser, UserDataHo getPlugin().fireEvent(getPlugin().getPreSyncEvent(this, snapshot), (event) -> { if (!isOffline()) { getPlugin().debug(String.format("Applying snapshot (%s) to %s (cause: %s)", - snapshot.getShortId(), getUsername(), cause + snapshot.getShortId(), getUsername(), cause.getDisplayName() )); UserDataHolder.super.applySnapshot( event.getData(), (succeeded) -> completeSync(succeeded, cause, getPlugin())