refactor contexts slightly
This commit is contained in:
@@ -24,10 +24,10 @@ package me.lucko.luckperms.sponge.migration;
|
||||
|
||||
import lombok.experimental.UtilityClass;
|
||||
import me.lucko.luckperms.api.context.ContextSet;
|
||||
import me.lucko.luckperms.api.context.MutableContextSet;
|
||||
import me.lucko.luckperms.common.core.NodeBuilder;
|
||||
import me.lucko.luckperms.common.core.NodeFactory;
|
||||
import me.lucko.luckperms.common.core.PermissionHolder;
|
||||
import me.lucko.luckperms.common.utils.ExtractedContexts;
|
||||
import me.lucko.luckperms.exceptions.ObjectAlreadyHasException;
|
||||
import me.lucko.luckperms.sponge.service.LuckPermsService;
|
||||
import org.spongepowered.api.service.context.Context;
|
||||
@@ -47,11 +47,10 @@ public class MigrationUtils {
|
||||
for (Map.Entry<Set<Context>, Map<String, Boolean>> e : perms.entrySet()) {
|
||||
ContextSet context = LuckPermsService.convertContexts(e.getKey());
|
||||
|
||||
MutableContextSet contexts = MutableContextSet.fromSet(context);
|
||||
String server = contexts.getValues("server").stream().findAny().orElse(null);
|
||||
String world = contexts.getValues("world").stream().findAny().orElse(null);
|
||||
contexts.removeAll("server");
|
||||
contexts.removeAll("world");
|
||||
ExtractedContexts extractedContexts = ExtractedContexts.generate(context);
|
||||
ContextSet contexts = extractedContexts.getContextSet();
|
||||
String server = extractedContexts.getServer();
|
||||
String world = extractedContexts.getWorld();
|
||||
|
||||
for (Map.Entry<String, Boolean> perm : e.getValue().entrySet()) {
|
||||
try {
|
||||
@@ -66,11 +65,10 @@ public class MigrationUtils {
|
||||
for (Map.Entry<Set<Context>, Map<String, String>> e : opts.entrySet()) {
|
||||
ContextSet context = LuckPermsService.convertContexts(e.getKey());
|
||||
|
||||
MutableContextSet contexts = MutableContextSet.fromSet(context);
|
||||
String server = contexts.getValues("server").stream().findAny().orElse(null);
|
||||
String world = contexts.getValues("world").stream().findAny().orElse(null);
|
||||
contexts.removeAll("server");
|
||||
contexts.removeAll("world");
|
||||
ExtractedContexts extractedContexts = ExtractedContexts.generate(context);
|
||||
ContextSet contexts = extractedContexts.getContextSet();
|
||||
String server = extractedContexts.getServer();
|
||||
String world = extractedContexts.getWorld();
|
||||
|
||||
for (Map.Entry<String, String> opt : e.getValue().entrySet()) {
|
||||
if (opt.getKey().equalsIgnoreCase("prefix")) {
|
||||
@@ -98,11 +96,10 @@ public class MigrationUtils {
|
||||
for (Map.Entry<Set<Context>, List<Subject>> e : parents.entrySet()) {
|
||||
ContextSet context = LuckPermsService.convertContexts(e.getKey());
|
||||
|
||||
MutableContextSet contexts = MutableContextSet.fromSet(context);
|
||||
String server = contexts.getValues("server").stream().findAny().orElse(null);
|
||||
String world = contexts.getValues("world").stream().findAny().orElse(null);
|
||||
contexts.removeAll("server");
|
||||
contexts.removeAll("world");
|
||||
ExtractedContexts extractedContexts = ExtractedContexts.generate(context);
|
||||
ContextSet contexts = extractedContexts.getContextSet();
|
||||
String server = extractedContexts.getServer();
|
||||
String world = extractedContexts.getWorld();
|
||||
|
||||
for (Subject s : e.getValue()) {
|
||||
if (!s.getContainingCollection().getIdentifier().equalsIgnoreCase(PermissionService.SUBJECTS_GROUP)) {
|
||||
|
||||
@@ -31,6 +31,7 @@ import me.lucko.luckperms.api.LocalizedNode;
|
||||
import me.lucko.luckperms.api.Node;
|
||||
import me.lucko.luckperms.api.context.ContextSet;
|
||||
import me.lucko.luckperms.common.groups.Group;
|
||||
import me.lucko.luckperms.common.utils.ExtractedContexts;
|
||||
import me.lucko.luckperms.sponge.timings.LPTiming;
|
||||
import org.spongepowered.api.command.CommandSource;
|
||||
import org.spongepowered.api.service.permission.NodeTree;
|
||||
@@ -84,7 +85,7 @@ public class LuckPermsGroupSubject extends LuckPermsSubject {
|
||||
@Override
|
||||
public Tristate getPermissionValue(ContextSet contexts, String permission) {
|
||||
try (Timing ignored = service.getPlugin().getTimings().time(LPTiming.GROUP_GET_PERMISSION_VALUE)) {
|
||||
Map<String, Boolean> permissions = group.getAllNodesFiltered(service.calculateContexts(contexts)).stream()
|
||||
Map<String, Boolean> permissions = group.getAllNodesFiltered(ExtractedContexts.generate(service.calculateContexts(contexts))).stream()
|
||||
.map(LocalizedNode::getNode)
|
||||
.collect(Collectors.toMap(Node::getPermission, Node::getValue));
|
||||
|
||||
@@ -113,7 +114,7 @@ public class LuckPermsGroupSubject extends LuckPermsSubject {
|
||||
@Override
|
||||
public List<Subject> getParents(ContextSet contexts) {
|
||||
try (Timing ignored = service.getPlugin().getTimings().time(LPTiming.GROUP_GET_PARENTS)) {
|
||||
List<Subject> subjects = group.getAllNodesFiltered(service.calculateContexts(contexts)).stream()
|
||||
List<Subject> subjects = group.getAllNodesFiltered(ExtractedContexts.generate(service.calculateContexts(contexts))).stream()
|
||||
.map(LocalizedNode::getNode)
|
||||
.filter(Node::isGroupNode)
|
||||
.map(Node::getGroupName)
|
||||
@@ -165,7 +166,7 @@ public class LuckPermsGroupSubject extends LuckPermsSubject {
|
||||
int priority = Integer.MIN_VALUE;
|
||||
String meta = null;
|
||||
|
||||
for (Node n : group.getAllNodesFiltered(service.calculateContexts(contexts))) {
|
||||
for (Node n : group.getAllNodesFiltered(ExtractedContexts.generate(service.calculateContexts(contexts)))) {
|
||||
if (!n.getValue()) {
|
||||
continue;
|
||||
}
|
||||
@@ -185,7 +186,7 @@ public class LuckPermsGroupSubject extends LuckPermsSubject {
|
||||
}
|
||||
|
||||
private Optional<String> getMeta(ContextSet contexts, String key) {
|
||||
for (Node n : group.getAllNodesFiltered(service.calculateContexts(contexts))) {
|
||||
for (Node n : group.getAllNodesFiltered(ExtractedContexts.generate(service.calculateContexts(contexts)))) {
|
||||
if (!n.getValue()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user