jpenilla / AnnouncerPlus

Announcement and Join/Quit message plugin with support for permissions. Supports Hex colors, gradients, Achievements, Titles, Action Bars, and more. Uses MiniMessage for text formatting
https://www.spigotmc.org/resources/announcer-plus.81005/
MIT License
71 stars 13 forks source link

[Bug Report] AnnouncerPlus not respecting Luckperms Weight #163

Closed Yertled closed 1 year ago

Yertled commented 1 year ago

Describe the bug When a player has multiple groups, with announcerplus.join.default true as default rank, and announcerplus.join.default false as a higher rank, it does not negate the permission.

To Reproduce Weight 0 - Default rank: announcerplus.join.default true Weight: 70 - Rank2: announcerplus.join.default false and announcerplus.join.subscriptionrank true Weight: 90 - Rank3: Inherits default rank.

Player1: Has default rank, rank2 and rank3, but when the player joins/leaves the server, it sends both the default join message and the custom join message, rather than negating the default rank permission.

AnnouncerPlus thinks the default rank has the same weight as Rank 3, because Rank 3 inherits default.

Expected behavior AnnouncerPlus should read the highest weight and shouldn't make default rank have same weight as rank 3, just because rank 3 inherits default. Default has weight 0, and not anything higher just because of inheritance.

Server Software and Version:

Additional context I hope I explained it well enough so you understand.

jpenilla commented 1 year ago

AnnouncerPlus does a basic permission check using Bukkit API, it's not concerned with groups: https://github.com/jpenilla/AnnouncerPlus/blob/be9f1d6b76b92d2f582469ae9ed5ddf77f174678/src/main/kotlin/xyz/jpenilla/announcerplus/config/JoinQuitConfig.kt#L187

When you use LuckPerms as a permission plugin, it controls the output of Player#hasPermission. This means in your current permissions setup, LuckPerms is telling AP that a player with all three of your ranks has permission for announcerplus.join.default and announcerplus.join.subscriptionrank.

There isn't an issue with AP here, if you need help fixing your permissions setup LuckPerms has a Discord linked at their site: https://luckperms.net/