diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/server/LuckPermsSubscriptionMap.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/server/LuckPermsSubscriptionMap.java index 01ee9948a..0b48d4a49 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/server/LuckPermsSubscriptionMap.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/inject/server/LuckPermsSubscriptionMap.java @@ -154,7 +154,7 @@ public final class LuckPermsSubscriptionMap implements Map keySet() { throw new UnsupportedOperationException(); } @Override public Collection> values() { throw new UnsupportedOperationException(); } @Override public Set>> entrySet() { throw new UnsupportedOperationException(); } - @Override public int size() { throw new UnsupportedOperationException(); } + @Override public int size() { return 0; } @Override public boolean isEmpty() { throw new UnsupportedOperationException(); } @Override public boolean containsKey(Object key) { throw new UnsupportedOperationException(); } @Override public boolean containsValue(Object value) { throw new UnsupportedOperationException(); } 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 0b31a4ca4..05b934770 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 @@ -42,6 +42,7 @@ import net.luckperms.api.query.QueryOptions; import net.luckperms.api.util.Tristate; import org.checkerframework.checker.nullness.qual.NonNull; +import org.checkerframework.checker.nullness.qual.Nullable; import cn.nukkit.Player; import cn.nukkit.permission.PermissibleBase; @@ -223,32 +224,27 @@ public class LuckPermsPermissible extends PermissibleBase { } @Override - public LuckPermsPermissionAttachment addAttachment(Plugin plugin) { + public PermissionAttachment addAttachment(Plugin plugin) { + return addAttachment(plugin, null, null); + } + + @Override + public PermissionAttachment addAttachment(Plugin plugin, @Nullable String permission) { + return addAttachment(plugin, permission, null); + } + + @Override + public PermissionAttachment addAttachment(Plugin plugin, @Nullable String permission, @Nullable Boolean value) { Objects.requireNonNull(plugin, "plugin"); LuckPermsPermissionAttachment attachment = new LuckPermsPermissionAttachment(this, plugin); attachment.hook(); - return attachment; - } - @Override - public PermissionAttachment addAttachment(Plugin plugin, String permission) { - Objects.requireNonNull(plugin, "plugin"); - Objects.requireNonNull(permission, "permission"); + if (permission != null) { // ffs nukkit, why + boolean val = value == null || value; + attachment.setPermission(permission, val); + } - PermissionAttachment attachment = addAttachment(plugin); - attachment.setPermission(permission, true); - return attachment; - } - - @Override - public PermissionAttachment addAttachment(Plugin plugin, String permission, Boolean value) { - Objects.requireNonNull(plugin, "plugin"); - Objects.requireNonNull(permission, "permission"); - Objects.requireNonNull(value, "value"); - - PermissionAttachment attachment = addAttachment(plugin); - attachment.setPermission(permission, value); return attachment; }