mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-29 11:39:14 +00:00
refactor: slightly simplify checkout logic
This commit is contained in:
@@ -45,15 +45,15 @@ public class LockstepDataSyncer extends DataSyncer {
|
|||||||
@Override
|
@Override
|
||||||
public void setUserData(@NotNull OnlineUser user) {
|
public void setUserData(@NotNull OnlineUser user) {
|
||||||
this.listenForRedisData(user, () -> {
|
this.listenForRedisData(user, () -> {
|
||||||
if (getRedis().getUserCheckedOut(user).isEmpty()) {
|
if (getRedis().getUserCheckedOut(user).isPresent()) {
|
||||||
getRedis().setUserCheckedOut(user, true);
|
return false;
|
||||||
getRedis().getUserData(user).ifPresentOrElse(
|
|
||||||
data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED),
|
|
||||||
() -> this.setUserFromDatabase(user)
|
|
||||||
);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return false;
|
getRedis().setUserCheckedOut(user, true);
|
||||||
|
getRedis().getUserData(user).ifPresentOrElse(
|
||||||
|
data -> user.applySnapshot(data, DataSnapshot.UpdateCause.SYNCHRONIZED),
|
||||||
|
() -> this.setUserFromDatabase(user)
|
||||||
|
);
|
||||||
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ public abstract class OnlineUser extends User implements CommandUser, UserDataHo
|
|||||||
getPlugin().fireEvent(getPlugin().getPreSyncEvent(this, snapshot), (event) -> {
|
getPlugin().fireEvent(getPlugin().getPreSyncEvent(this, snapshot), (event) -> {
|
||||||
if (!isOffline()) {
|
if (!isOffline()) {
|
||||||
getPlugin().debug(String.format("Applying snapshot (%s) to %s (cause: %s)",
|
getPlugin().debug(String.format("Applying snapshot (%s) to %s (cause: %s)",
|
||||||
snapshot.getShortId(), getUsername(), cause
|
snapshot.getShortId(), getUsername(), cause.getDisplayName()
|
||||||
));
|
));
|
||||||
UserDataHolder.super.applySnapshot(
|
UserDataHolder.super.applySnapshot(
|
||||||
event.getData(), (succeeded) -> completeSync(succeeded, cause, getPlugin())
|
event.getData(), (succeeded) -> completeSync(succeeded, cause, getPlugin())
|
||||||
|
|||||||
Reference in New Issue
Block a user