From 05b82cdbabd17c3565b094297344e4c0097fe36c Mon Sep 17 00:00:00 2001 From: Luck Date: Thu, 19 Mar 2020 11:04:52 +0000 Subject: [PATCH] Slightly optimize Permissible#getEffectivePermissions --- .../inject/permissible/LuckPermsPermissible.java | 11 +++++++---- .../inject/permissible/LuckPermsPermissible.java | 9 ++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/LuckPermsPermissible.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/LuckPermsPermissible.java index 3aa4c1d41..e74867649 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/LuckPermsPermissible.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/permissible/LuckPermsPermissible.java @@ -26,6 +26,7 @@ package me.lucko.luckperms.bukkit.inject.permissible; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import me.lucko.luckperms.bukkit.LPBukkitPlugin; import me.lucko.luckperms.bukkit.calculator.DefaultsProcessor; @@ -34,7 +35,6 @@ import me.lucko.luckperms.common.calculator.result.TristateResult; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.context.QueryOptionsCache; import me.lucko.luckperms.common.model.User; -import me.lucko.luckperms.common.util.ImmutableCollectors; import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent; import net.luckperms.api.query.QueryOptions; @@ -53,6 +53,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.ListIterator; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -211,9 +212,11 @@ public class LuckPermsPermissible extends PermissibleBase { @Override public @NonNull Set getEffectivePermissions() { - return this.user.getCachedData().getPermissionData(this.queryOptionsSupplier.getQueryOptions()).getPermissionMap().entrySet().stream() - .map(entry -> new PermissionAttachmentInfo(this.player, entry.getKey(), null, entry.getValue())) - .collect(ImmutableCollectors.toSet()); + Map permissionMap = this.user.getCachedData().getPermissionData(this.queryOptionsSupplier.getQueryOptions()).getPermissionMap(); + + ImmutableSet.Builder builder = ImmutableSet.builder(); + permissionMap.forEach((key, value) -> builder.add(new PermissionAttachmentInfo(this.player, key, null, value))); + return builder.build(); } @Override diff --git a/nukkit/src/main/java/me/lucko/luckperms/nukkit/inject/permissible/LuckPermsPermissible.java b/nukkit/src/main/java/me/lucko/luckperms/nukkit/inject/permissible/LuckPermsPermissible.java index d9134f407..caf09965f 100644 --- a/nukkit/src/main/java/me/lucko/luckperms/nukkit/inject/permissible/LuckPermsPermissible.java +++ b/nukkit/src/main/java/me/lucko/luckperms/nukkit/inject/permissible/LuckPermsPermissible.java @@ -26,12 +26,12 @@ package me.lucko.luckperms.nukkit.inject.permissible; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import me.lucko.luckperms.common.calculator.result.TristateResult; import me.lucko.luckperms.common.config.ConfigKeys; import me.lucko.luckperms.common.context.QueryOptionsCache; import me.lucko.luckperms.common.model.User; -import me.lucko.luckperms.common.util.ImmutableCollectors; import me.lucko.luckperms.common.verbose.event.PermissionCheckEvent; import me.lucko.luckperms.nukkit.LPNukkitPlugin; import me.lucko.luckperms.nukkit.calculator.DefaultsProcessor; @@ -215,8 +215,11 @@ public class LuckPermsPermissible extends PermissibleBase { @Override public Map getEffectivePermissions() { - return this.user.getCachedData().getPermissionData(this.queryOptionsSupplier.getQueryOptions()).getPermissionMap().entrySet().stream() - .collect(ImmutableCollectors.toMap(Map.Entry::getKey, entry -> new PermissionAttachmentInfo(this.player, entry.getKey(), null, entry.getValue()))); + Map permissionMap = this.user.getCachedData().getPermissionData(this.queryOptionsSupplier.getQueryOptions()).getPermissionMap(); + + ImmutableMap.Builder builder = ImmutableMap.builder(); + permissionMap.forEach((key, value) -> builder.put(key, new PermissionAttachmentInfo(this.player, key, null, value))); + return builder.build(); } @Override