Skip to content

Commit c815c18

Browse files
committed
add a separated reset-permissions
1 parent 085096d commit c815c18

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

spigot/plugin/src/main/java/me/hsgamer/topper/spigot/plugin/holder/NumberTopHolder.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,23 +56,22 @@ public NumberTopHolder(TopperPlugin instance, String name, Map<String, Object> m
5656
.map(String::toLowerCase)
5757
.map(Boolean::parseBoolean)
5858
.orElse(false);
59-
boolean resetOnIgnore = Optional.ofNullable(map.get("reset-on-ignore"))
60-
.map(Object::toString)
61-
.map(String::toLowerCase)
62-
.map(Boolean::parseBoolean)
63-
.orElse(false);
6459
List<String> ignorePermissions = CollectionUtils.createStringListFromObject(map.get("ignore-permission"), true);
60+
List<String> resetPermissions = CollectionUtils.createStringListFromObject(map.get("reset-permission"), true);
6561
this.updateAgent = new UpdateAgent<>(this, valueProvider);
66-
if (!ignorePermissions.isEmpty()) {
62+
if (!ignorePermissions.isEmpty() || !resetPermissions.isEmpty()) {
6763
updateAgent.setFilter(uuid -> {
6864
Player player = Bukkit.getPlayer(uuid);
6965
if (player == null) {
7066
return UpdateAgent.FilterResult.SKIP;
7167
}
72-
if (ignorePermissions.stream().noneMatch(player::hasPermission)) {
73-
return UpdateAgent.FilterResult.CONTINUE;
68+
if (!resetPermissions.isEmpty() && resetPermissions.stream().anyMatch(player::hasPermission)) {
69+
return UpdateAgent.FilterResult.RESET;
70+
}
71+
if (!ignorePermissions.isEmpty() && ignorePermissions.stream().anyMatch(player::hasPermission)) {
72+
return UpdateAgent.FilterResult.SKIP;
7473
}
75-
return resetOnIgnore ? UpdateAgent.FilterResult.RESET : UpdateAgent.FilterResult.SKIP;
74+
return UpdateAgent.FilterResult.CONTINUE;
7675
});
7776
}
7877
if (showErrors) {

0 commit comments

Comments
 (0)