PermListCommand class
Пакет: com.hypixel.hytale.server.core.permissions.commands
Файл: com/hypixel/hytale/server/core/permissions/commands/PermListCommand.java
extends: CommandBase
Поля (17)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
HytaleLogger |
LOGGER |
|
Map |
var0 |
|
StringBuilder |
var1 |
|
PermissionsModule |
var1 |
|
boolean |
var2 |
|
UUID |
var2 |
|
String |
var3 |
|
|
var3 |
|
|
var3 |
|
Set |
var3 |
|
Map |
var4 |
|
StringBuilder |
var5 |
|
Set |
var5 |
|
Set |
var6 |
|
Set |
var6 |
|
String |
var7 |
|
Set |
var9 |
Методы (10)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
static |
void |
collectGroupPermissionsvoid collectGroupPermissions(@Nonnull PermissionProvider var0, @Nonnull Map<String, Set<String>> var1, @Nonnull String var2, @Nonnull Set<String> var3, @Nonnull Set<String> var4) |
abstract |
|
collectGroupPermissions collectGroupPermissions(var0, var1, var7, var3, var4) |
|
|
for for(String var11 : var3) |
|
|
for for(String var13 : var6) |
|
|
if if(var2) |
|
|
if if(var9 != null) |
|
|
if if(var5 != null) |
|
|
if if(var6 != null) |
|
|
if if(var7 != null) |
abstract |
|
super super("list", "server.commands.perm.list.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.permissions.commands;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.CommandBase;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionsModule;
class="kw">import com.hypixel.hytale.server.core.permissions.provider.PermissionProvider;
class="kw">import java.util.HashSet;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.TreeSet;
class="kw">import java.util.UUID;
class="kw">import java.util.Map.Entry;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">public class PermListCommand class="kw">extends CommandBase {
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
@Nonnull
class="kw">private class="kw">final FlagArg allFlag = this.withFlagArg("all", "server.commands.perm.list.all.desc");
@Nonnull
class="kw">private class="kw">final FlagArg consoleFlag = this.withFlagArg("console", "server.commands.perm.list.console.desc");
class="kw">public PermListCommand() {
super("list", "server.commands.perm.list.desc");
}
@Override
class="kw">protected void executeSync(@Nonnull CommandContext var1) {
boolean var2 = this.consoleFlag.get(var1);
String var3;
if (this.allFlag.get(var1)) {
var3 = buildAllPermissions();
} else {
var3 = buildOwnPermissions(var1);
}
if (var2) {
LOGGER.at(Level.INFO).log("%s", var3);
var1.sendMessage(Message.translation("server.commands.perm.list.printedToConsole"));
} else {
var1.sendMessage(Message.raw(var3));
}
}
@Nonnull
class="kw">private class="kw">static String buildAllPermissions() {
Map var0 = PermissionsModule.getRegisteredPermissions();
StringBuilder var1 = new StringBuilder();
var1.append("Registered Permissions (").append(var0.size()).append("):\n");
for (Entry var3 : var0.entrySet()) {
var1.append(" ").append(var3.getKey());
if (!var3.getValue().isEmpty()) {
var1.append(" -> ").append(var3.getValue());
}
var1.append('\n');
}
class="kw">return var1.toString();
}
@Nonnull
class="kw">private class="kw">static String buildOwnPermissions(@Nonnull CommandContext var0) {
PermissionsModule var1 = PermissionsModule.get();
UUID var2 = var0.sender().getUuid();
Set var3 = var1.getGroupsForUser(var2);
Map var4 = var1.getVirtualGroups();
StringBuilder var5 = new StringBuilder();
var5.append("Your Permissions:\n");
var5.append(" Groups: ").append(var3.isEmpty() ? "(none)" : String.join(", ", var3)).append('\n');
Set var6 = new TreeSet<>();
for (PermissionProvider var8 : var1.getProviders()) {
Set var9 = var8.getUserPermissions(var2);
if (var9 != null) {
var6.addAll(var9);
}
for (String var11 : var3) {
collectGroupPermissions(var8, var4, var11, var6, new HashSet<>());
}
}
var5.append(" Effective (").append(var6.size()).append("):\n");
for (String var13 : var6) {
var5.append(" ").append(var13).append('\n');
}
class="kw">return var5.toString();
}
class="kw">private class="kw">static void collectGroupPermissions(
@Nonnull PermissionProvider var0, @Nonnull Map<String, Set<String>> var1, @Nonnull String var2, @Nonnull Set<String> var3, @Nonnull Set<String> var4
) {
if (var4.add(var2)) {
Set var5 = var0.getGroupPermissions(var2);
if (var5 != null) {
var3.addAll(var5);
}
Set var6 = var1.get(var2);
if (var6 != null) {
var3.addAll(var6);
}
String var7 = var0.getGroupParent(var2);
if (var7 != null) {
collectGroupPermissions(var0, var1, var7, var3, var4);
}
}
}
}