EssentialsX

EssentialsX

2M Downloads

[Enhancement] Granular Permission Nodes for Text File Chapters in Help Motd Info Custom

Opened this issue ยท 3 comments

commented

Feature request

Feature description
Add the option to use permission nodes for specific chapters in the various text files (motd, help, info, custom).

essentials.help.chapter."chaptername"

As a chapter can have several aliases, only use the first title after the hashtag.

Example chapter header:

#teleport,tp,tele,

Example permission using only the first chapter title:

essentials.help.chapter.teleport

How the feature is useful
This would give modern server owners, developers, and staff granular control of the text files, and would streamline the use and updating of such files.

  1. Presently, the only way to give groups specific chapters (while not allowing other groups access) is to make an entire file for the group (help_rank2.txt). But the base nature of this prevents the group from seeing chapters in the base help file.

  2. This means that useful information from a lower tank that may be pertinent for a person to have at a higher rank must be transcribed. If edits are made, these edits need to be manually propagated.

  3. The current problem is compounded with subgroups of modern permission plugins as EssentialsX does not recognize subgroup permissions, from plugins like LuckPerms, in the use of chat formatting and text file access.

  4. Another problem carried through Vault to EssentialsX is that EssentialsX has difficulty telling the difference between a group's proper name and the display name. Stacking groups and display names is even stranger... which can cause conflicts for EssentialsX to allow access to text files as EssentialsX only recognizes {GroupName}.

The best solutions for this is for EssentialsX to add an option in the config to enable chapter permissions, or to simply add a permission to allow access to all chapters or use the asterisk.

essentials.help.chapter.allchapters

or

essentials.help.chapter.*

And of course, this would apply to the other text files: motd.txt, info.txt, custom.txt.

This would add the granular control that modern server owners and staff could really make use of to allow some groups, and subgroups, to view chapters while preventing other groups from seeing them.

commented

I am not sure how to add the [enhancement] label to this ticket.

commented

I am not sure how to add the [enhancement] label to this ticket.

I've added the appropriate labels ๐Ÿ‘

The current problem is compounded with subgroups of modern permission plugins as EssentialsX does not recognize subgroup permissions, from plugins like LuckPerms, in the use of chat formatting and text file access.

This is something I don't see changing. For the most part, EssentialsX only cares about what permissions a player has, and in some cases what group they're in, plus prefixes and suffixes directly from the permissions plugin. Vault provides all of these and EssentialsX has access to them. LuckPerms doesn't count group inheritance as being in the group, so "subgroups" aren't really a consideration. Inherited perms are handled entirely by the permissions plugin, so if they aren't working correctly, you haven't set your permissions up correctly.

However, text commands only check for the username and primary group. This could be expanded to use their other groups as well.

Another problem carried through Vault to EssentialsX is that EssentialsX has difficulty telling the difference between a group's proper name and the display name.

The display name of groups masks its internal name within your permissions plugin. If you want the actual group name to be exposed by Vault, don't set a display name. This applies to every Vault plugin and is not something we're going to work around.

commented

I appreciate the explanation for how these elements come together!