mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-24 11:38:40 +01:00
Replace deprecated method usage in NodeTools
This commit is contained in:
parent
63ff3c34b3
commit
966bf8bf51
@ -58,15 +58,7 @@ public class Contexts {
|
|||||||
*
|
*
|
||||||
* Simply passes an empty context set, with all accumulation settings set to true.
|
* Simply passes an empty context set, with all accumulation settings set to true.
|
||||||
*/
|
*/
|
||||||
private static final Contexts GLOBAL = new Contexts(
|
private static final Contexts GLOBAL = new Contexts(ContextSet.empty(), true, true, true, true, true, false);
|
||||||
ContextSet.empty(),
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
true,
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the {@link FullySatisfiedContexts} instance.
|
* Gets the {@link FullySatisfiedContexts} instance.
|
||||||
|
@ -32,6 +32,7 @@ import com.google.common.collect.SortedSetMultimap;
|
|||||||
|
|
||||||
import me.lucko.luckperms.api.LocalizedNode;
|
import me.lucko.luckperms.api.LocalizedNode;
|
||||||
import me.lucko.luckperms.api.Node;
|
import me.lucko.luckperms.api.Node;
|
||||||
|
import me.lucko.luckperms.api.StandardNodeEquality;
|
||||||
import me.lucko.luckperms.api.context.ContextSet;
|
import me.lucko.luckperms.api.context.ContextSet;
|
||||||
import me.lucko.luckperms.api.context.ImmutableContextSet;
|
import me.lucko.luckperms.api.context.ImmutableContextSet;
|
||||||
import me.lucko.luckperms.common.buffers.Cache;
|
import me.lucko.luckperms.common.buffers.Cache;
|
||||||
@ -218,9 +219,9 @@ public final class NodeMap {
|
|||||||
this.lock.lock();
|
this.lock.lock();
|
||||||
try {
|
try {
|
||||||
ImmutableContextSet context = node.getFullContexts().makeImmutable();
|
ImmutableContextSet context = node.getFullContexts().makeImmutable();
|
||||||
this.map.get(context).removeIf(e -> e.almostEquals(node));
|
this.map.get(context).removeIf(e -> e.equals(node, StandardNodeEquality.IGNORE_EXPIRY_TIME_AND_VALUE));
|
||||||
if (node.isGroupNode()) {
|
if (node.isGroupNode()) {
|
||||||
this.inheritanceMap.get(context).removeIf(e -> e.almostEquals(node));
|
this.inheritanceMap.get(context).removeIf(e -> e.equals(node, StandardNodeEquality.IGNORE_EXPIRY_TIME_AND_VALUE));
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
this.lock.unlock();
|
this.lock.unlock();
|
||||||
|
@ -366,7 +366,7 @@ public abstract class PermissionHolder {
|
|||||||
List<LocalizedNode> nodes = new LinkedList<>();
|
List<LocalizedNode> nodes = new LinkedList<>();
|
||||||
accumulateInheritancesTo(nodes, contexts);
|
accumulateInheritancesTo(nodes, contexts);
|
||||||
|
|
||||||
NodeTools.removeAlmostEqual(nodes.iterator());
|
NodeTools.removeEqual(nodes.iterator(), StandardNodeEquality.IGNORE_EXPIRY_TIME_AND_VALUE);
|
||||||
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
||||||
ret.addAll(nodes);
|
ret.addAll(nodes);
|
||||||
return ret;
|
return ret;
|
||||||
@ -376,7 +376,7 @@ public abstract class PermissionHolder {
|
|||||||
List<LocalizedNode> nodes = new LinkedList<>();
|
List<LocalizedNode> nodes = new LinkedList<>();
|
||||||
accumulateInheritancesTo(nodes, contexts);
|
accumulateInheritancesTo(nodes, contexts);
|
||||||
|
|
||||||
NodeTools.removeIgnoreValueOrTemp(nodes.iterator());
|
NodeTools.removeEqual(nodes.iterator(), StandardNodeEquality.IGNORE_VALUE_OR_IF_TEMPORARY);
|
||||||
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
||||||
ret.addAll(nodes);
|
ret.addAll(nodes);
|
||||||
return ret;
|
return ret;
|
||||||
@ -404,7 +404,7 @@ public abstract class PermissionHolder {
|
|||||||
List<LocalizedNode> nodes = new LinkedList<>();
|
List<LocalizedNode> nodes = new LinkedList<>();
|
||||||
accumulateInheritancesTo(nodes);
|
accumulateInheritancesTo(nodes);
|
||||||
|
|
||||||
NodeTools.removeAlmostEqual(nodes.iterator());
|
NodeTools.removeEqual(nodes.iterator(), StandardNodeEquality.IGNORE_EXPIRY_TIME_AND_VALUE);
|
||||||
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
||||||
ret.addAll(nodes);
|
ret.addAll(nodes);
|
||||||
return ret;
|
return ret;
|
||||||
@ -414,7 +414,7 @@ public abstract class PermissionHolder {
|
|||||||
List<LocalizedNode> nodes = new LinkedList<>();
|
List<LocalizedNode> nodes = new LinkedList<>();
|
||||||
accumulateInheritancesTo(nodes);
|
accumulateInheritancesTo(nodes);
|
||||||
|
|
||||||
NodeTools.removeIgnoreValueOrTemp(nodes.iterator());
|
NodeTools.removeEqual(nodes.iterator(), StandardNodeEquality.IGNORE_VALUE_OR_IF_TEMPORARY);
|
||||||
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
SortedSet<LocalizedNode> ret = new TreeSet<>(NodeWithContextComparator.reverse());
|
||||||
ret.addAll(nodes);
|
ret.addAll(nodes);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
package me.lucko.luckperms.common.node;
|
package me.lucko.luckperms.common.node;
|
||||||
|
|
||||||
import me.lucko.luckperms.api.Node;
|
import me.lucko.luckperms.api.Node;
|
||||||
|
import me.lucko.luckperms.api.NodeEqualityPredicate;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@ -35,50 +36,17 @@ import java.util.Set;
|
|||||||
|
|
||||||
public final class NodeTools {
|
public final class NodeTools {
|
||||||
|
|
||||||
public static <T extends Node> void removeAlmostEqual(Iterator<T> it) {
|
public static <T extends Node> void removeEqual(Iterator<T> it, NodeEqualityPredicate equalityPredicate) {
|
||||||
List<T> alreadyIn = new ArrayList<>();
|
List<T> alreadyIn = new ArrayList<>();
|
||||||
|
|
||||||
iter:
|
iterate:
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
T next = it.next();
|
T next = it.next();
|
||||||
for (T n : alreadyIn) {
|
|
||||||
if (next.almostEquals(n)) {
|
for (T other : alreadyIn) {
|
||||||
|
if (next.equals(other, equalityPredicate)) {
|
||||||
it.remove();
|
it.remove();
|
||||||
continue iter;
|
continue iterate;
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
alreadyIn.add(next);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T extends Node> void removeIgnoreValue(Iterator<T> it) {
|
|
||||||
List<T> alreadyIn = new ArrayList<>();
|
|
||||||
|
|
||||||
iter:
|
|
||||||
while (it.hasNext()) {
|
|
||||||
T next = it.next();
|
|
||||||
for (T n : alreadyIn) {
|
|
||||||
if (next.equalsIgnoringValue(n)) {
|
|
||||||
it.remove();
|
|
||||||
continue iter;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
alreadyIn.add(next);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T extends Node> void removeIgnoreValueOrTemp(Iterator<T> it) {
|
|
||||||
List<T> alreadyIn = new ArrayList<>();
|
|
||||||
|
|
||||||
iter:
|
|
||||||
while (it.hasNext()) {
|
|
||||||
T next = it.next();
|
|
||||||
for (T n : alreadyIn) {
|
|
||||||
if (next.equalsIgnoringValueOrTemp(n)) {
|
|
||||||
it.remove();
|
|
||||||
continue iter;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,10 +56,8 @@ public final class NodeTools {
|
|||||||
|
|
||||||
public static <T extends Node> void removeSamePermission(Iterator<T> it) {
|
public static <T extends Node> void removeSamePermission(Iterator<T> it) {
|
||||||
Set<String> alreadyIn = new HashSet<>();
|
Set<String> alreadyIn = new HashSet<>();
|
||||||
|
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
T next = it.next();
|
T next = it.next();
|
||||||
|
|
||||||
if (!alreadyIn.add(next.getPermission())) {
|
if (!alreadyIn.add(next.getPermission())) {
|
||||||
it.remove();
|
it.remove();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user