LuckPerms

LuckPerms

41.4k Downloads

Stackable prefixes

lucko opened this issue ยท 1 comments

commented

An issue i've had with not just this plugin, but almost all permission plugins, is the fact that Group prefixes don't seem to stack,

This is a small suggestion it would just require two lines in the config

a); a string that allows you to set a Suffix / prefix between the prefixes (Like a space)
b); And an option to enable this feature ;)

My thoughts are that you could just specify in the config how many prefixes you want to show, and it will pick the highest x prefixes from all of the ones a user has.

For example, if a user has/inherits the following prefixes:

100 - [Mod]
50 - [Builder]
20 - [Some high level donator]
10 - [Some low level donator]
5 - [Member]
And the config is just set to pull the top 3, they'd get:

[Mod] [Builder] [Some high level donator] Luck: Hello

Great to know!
My idea on the matter, By idea i hope you just mean how to format that chat rather than backend running code.

user: Tau has main group Mod, Inherits Platinum, Premium, (Inherits sub staff ranks via group inheritance tree)

The Primary group's prefix should be first, irrelevant of the prefix priority.
[Mod] [Platinum] [Premium]

There should be a string in the config that looks like this (This is a pattern)

SuffixPrefixSpacer: " " // This is here so users can apply a spacer between group/user prefix/suffixs
SuffixSuffixSpacer: " "

PrefixPrefixSpacer: " "
PrefixSuffixSpacer: " "
applyPrefixSpacerAfterLastPrefix: false // This denotes if the above spacers will be applied after the last prefix/suffix in chat.
applySuffixSpacerAfterLastSuffix: false

enableStackablePrefixes: true
'%gmainprefix% %uprefixs% gprefrixs'
gmainprefix is the placeholder for Primary Group.
uprefix is the placeholder for a users prefixs. (By priority)
gprefix is a placeholder for one of the users groups (By priority)
uprefixs is a placeholder for ALL of the users prefix(s)
gprefixs is a placeholder for ALL of the group prefix(s)
(gsuffix etc)

example 2:
'%gmainprefix% gprefrixs(1-20) uprefixs gprefixs'
In this example only prefixes with the priority of 1-20 will be shown in that area.

commented

I'm thinking something like:

meta-options:
   prefix:
      format:
        - "highest_own_prefix"
        - "highest_prefix_donor"
        - "highest_prefix_staff"
      start-spacer: ""
      end-spacer: ""
      middle-separator: " "

and then obviously the same for suffix.

The default would just be this, which is backwards compatible with the current system.

meta-options:
   prefix:
      format:
        - "highest_prefix"
      start-spacer: ""
      end-spacer: ""
      middle-separator: ""

The name of a track can be included at the end of "highest_prefix" to filter results by track.