Refactor paginated command output, add flags for ordering 'permission info' entries, fix crashes caused by long messages (#591)

This commit is contained in:
Luck
2017-12-16 21:05:43 +00:00
Unverified
parent 2e7a08c006
commit 904bb90385
29 changed files with 447 additions and 403 deletions
@@ -48,7 +48,7 @@ import java.util.Set;
public class SpongeMigrationUtils {
public static void migrateSubject(Subject from, PermissionHolder to, int priority) {
if (to instanceof Group) {
if (to.getType().isGroup()) {
MigrationUtils.setGroupWeight((Group) to, priority);
}
@@ -133,7 +133,7 @@ public class LuckPermsSubjectData implements LPSubjectData {
return CompletableFuture.completedFuture(false);
}
if (holder instanceof User) {
if (holder.getType().isUser()) {
service.getPlugin().getUserManager().giveDefaultIfNeeded(((User) holder), false);
}
@@ -158,7 +158,7 @@ public class LuckPermsSubjectData implements LPSubjectData {
return CompletableFuture.completedFuture(false);
}
if (holder instanceof User) {
if (holder.getType().isUser()) {
service.getPlugin().getUserManager().giveDefaultIfNeeded(((User) holder), false);
}
@@ -251,7 +251,7 @@ public class LuckPermsSubjectData implements LPSubjectData {
toRemove.forEach(makeUnsetConsumer(false));
ret = !toRemove.isEmpty();
if (ret && holder instanceof User) {
if (ret && holder.getType().isUser()) {
service.getPlugin().getUserManager().giveDefaultIfNeeded(((User) holder), false);
}
}
@@ -277,7 +277,7 @@ public class LuckPermsSubjectData implements LPSubjectData {
toRemove.forEach(makeUnsetConsumer(false));
ret = !toRemove.isEmpty();
if (ret && holder instanceof User) {
if (ret && holder.getType().isUser()) {
service.getPlugin().getUserManager().giveDefaultIfNeeded(((User) holder), false);
}
}
@@ -441,14 +441,14 @@ public class LuckPermsSubjectData implements LPSubjectData {
private CompletableFuture<Void> objectSave(PermissionHolder t) {
if (!enduring) {
// don't bother saving to primary storage. just refresh
if (t instanceof User) {
if (t.getType().isUser()) {
User user = ((User) t);
return user.getRefreshBuffer().request();
} else {
return service.getPlugin().getUpdateTaskBuffer().request();
}
} else {
if (t instanceof User) {
if (t.getType().isUser()) {
User user = ((User) t);
return service.getPlugin().getStorage().saveUser(user).thenComposeAsync(success -> {
if (!success) {