This plugin is for an easy way to grant players ranks and permissions (You can also take away permissions). You use a simple-to-use GUI that is very customizable.
You can give the ranks/permissions for a certain amount of time (If your permission plugin allows that) and a reason for giving the rank/permission. You can also now have custom durations and reasons (Only on version 2.1.0+).
You can customize what each rank and permission. You can set the display name, set a lore to the item, and can make some items glow that could be important.
At the end of the grant, it displays a confirmation menu that shows the details about the grant. You can either confirm or cancel the grant.
Each rank and permission can have a certain permission that the player needs to grant (rankgrant.grant.<rank/permission>).
Grants are also logged in a file. You can see the logs in game (/grantadmin logs), or in the config file. Logs in the GUI are also sorted:
Gray Wool: This means that the grant has expired
Lime Wool: The grant has been given less than 2 hoursago
Green Wool: The grant has been given less than 24 hoursago
Yellow Wool: The grant has been given less than a week ago
Orange Wool: If the grant has been given over a week ago
The plugin uses commands to execute the grant, so it should work with most permissions plugins, even custom ones. The plugin has been tested and used with LuckPerms.
Note: You have a limited number of ranks, reasons, and durations
Step One: Download the plugin and put it in your "plugins" folder
Step Two: Restart your server, and then format the config file to your liking (Also adjust the commands to your permission plugin)
Step Three: Restart your Server, and then enjoy
Fixing Config (v2.0.0+): To fix your config do /grantadmin fixconfig(Permission: rankgrant.fixconfig). To "fix" thew config it creates a backup of your current config file. Then it deletes it and creates a brand new one (that has the new features). You can then copy things from your backup file to the new config file (i.e., copy the ranks and permissions from the backup).
Note: I will try to make it more automated in the future, but for now this does the trick.
/grant <Player>: Grants a player a rank or a permission
/grantadmin logs: Displays the latest number of logs
/grantadmin reload: Reloads the config file
/grantadmin help: Displays this message
/grantadmin fixconfig: Updates the config file (To the versions config file), and creates a backup config (So you can replace everything in the new config)
rankgrant.grant: Allows the player to grant a player a rank/permission
rankgrant.grant.<rank/permission>: Allows the player to grant a player the certain rank.
rankgrand.reload:Allows the player to reload the config
rankgrant.update: Displays a message to the player if there is an update for the plugin
rankgrant.help: Displays a help message showing all the commands
rankgrant.fixconfig: Allows the player to fix the config
rankgrant.logs: The player can see the logs in a GUI
Join the discord server for help with any of my plugins. Also, suggestions for current or new plugins
Config: (These have item ids for 1.8-1.12)
Code (Java):
#
// The command that will run when you grant a rank #
// This can be used for multiple different permission plugins #
// DO NOT INCLUDE THE SLASH (/)
#
// {target} is the player that you are giving the rank to #
// {rank} is the rank that will be given to the target #
// {duration} is how long the rank will be given for Commands
: #
// The commands for granting ranks Ranks
: #
// Gives the player the grant forever forever
:'lp user {target} parent set {rank}' #
// If your permission plugin does not support giving ranks for a duration of time #
// then just put the same command for both timed
:'lp user {target} parent addtemp {rank} {duration}s' #
// The commands for granting permissions Permissions: #
// When you give a permission to a player (The dye in the upper-right of the gui would be lime, and would say 'Give') Give
: forever
:'lp user {target} permission set {permission}' #
// If your permission plugin does not support giving ranks for a duration of time #
// then just put the same command for both timed
:'lp user {target} permission settemp {permission} true {duration}s' #
// When you remove a permission from a player (The dye in the upper-right of the gui would be red, and would say 'Remove') Remove
: forever
:'lp user {target} permission unset {permission}' #
// If you want to remove the permission temporarily #
// If your permission plugin does not support giving ranks for a duration of time #
// then just put the same command for both timed
:'lp user {target} permission unsettemp {permission} {duration}s'
#
// You can toggle if you need a certain permission to grant a certain permission (rankgrant.grant.<permission>) #
// The <permissions> for example, would be -essentailsall- because that is the name of the section permissions
-need
-permission
:true
#
// The ranks that can be given to players Permissions: essentialsall
: #
// What slot the rank will be displayed in the GUI slot
:10 #
// The displayname of the item in the GUI displayname
:'&a&lessentials.*' #
// The item that will appear for the rank in the GUI #
// Format for item types: item_name:color (optional) (i.e. WOOL:3 --> Light Blue Wool) #
// Note: This only has to be done in versions previous of 1.13 item_type
: WOOL
:1 #
// The name of the rank in your permission plugin (CASE SENSITIVE) permission
: essentials.
* #
// The lore of the item (Can be as big or short as you want) lore
: -"&7&m-----------------" -"&ePermission&7: essentials.*" -"&ePermission Nedded&7: rankgrant.grant.essentialsall" -"&7&m-----------------" luckpermsall
: slot
:11 displayname
:'&a&lluckperms.*' item_type
: WOOL
:5 permission
: luckperms.
* lore
: -"&7&m-----------------" -"&ePermission&7: luckperms.*" -"&ePermission Nedded&7: rankgrant.grant.luckpermsall" -"&7&m-----------------"
#
// You can toggle if you need a certain permission to grant a certain rank (rankgrant.grant.<rank>) #
// The <rank> for example, would be -Owner- because that is the name of the section ranks
-need
-permission
:true
#
// The ranks that can be given to players Ranks
: Owner: #
// What slot the rank will be displayed in the GUI slot
:10 #
// The displayname of the item in the GUI displayname
:'&6&lOwner' #
// The item that will appear for the rank in the GUI #
// Format for item types: item name:color (optional) (i.e. WOOL:3 --> Light Blue Wool) item_type
: WOOL
:4 #
// The name of the rank in your permission plugin (CASE SENSITIVE) rank
:Owner #
// The lore of the item (Can be as big or short as you want) lore
: -"&7&m-----------------" -"&ePrefix&7: [&3Owner&7]" -"&ePermission Needed&7: rankgrant.grant.owner" -"&7&m-----------------" Admin
: slot
:11 displayname
:'&c&lAdmin' item_type
: WOOL
:14 rank
: Admin
lore
: -"&7&m-----------------" -"&ePrefix&7: [&cAdmin&7]" -"&ePermission Needed&7: rankgrant.grant.admin" -"&7&m-----------------" Default: slot
:12 displayname
:'&7&lDefault' item_type
: WOOL
:8 rank
:default lore
: -"&7&m-----------------" -"&ePrefix&7: [&8Default&7]" -"&ePermission Needed&7: rankgrant.grant.default" -"&7&m-----------------" #
//Type the duration you want Duration
: 30_minutes
: #
// The displayname of the item in the GUI displayname
:'&e&l30 Minutes' #
// How long the rank will be given for (IN SECONDS) duration
:1800 #
// What slot the rank will be displayed in the GUI slot
:10 #
// The item will have an enchanted glow glow
:false 1_hour
: displayname
:'&e&l1 Hour' duration
:3600 slot
:11 glow
:false 1_day
: displayname
:'&e&l1 Day' duration
:86400 slot
:12 glow
:false 1_week
: displayname
:'&e&l1 Week' duration
:604800 slot
:13 glow
:false 1_month
: displayname
:'&e&l1 Month' duration
:2628000 slot
:14 glow
:false 1_year
: displayname
:'&e&l1 Year' duration
:31536000 slot
:15 glow
:false forever
: displayname
:'&e&lForever' #
// Put -1 if you want the the rank to be permenant duration
:-1 slot
:16 glow
:true custom
: displayname
:'&e&lCustom' #
// Put -2 if you want a custom duration duration
:-2 slot
:19 glow
:true
#
// The reason for giving the rank Reason
: Promotion
: #
// The displayname of the item in the GUI displayname
:'&b&lPromotion' #
// The actual reason for the granting a player reason
:'Promotion' #
// What slot the rank will be displayed in the GUI slot
:10 #
// The item will have an enchanted glow glow
:false Demotion
: displayname
:'&b&lDemotion' reason
:'Demotion' slot
:11 glow
:false Famous
: displayname
:'&b&lFamous' reason
:'Famous' slot
:12 glow
:false Other
: displayname
:'&b&lOther' reason
:'Other' slot
:13 glow
:true Custom
: #
// Put 'custom-reason' if you want a custom reason displayname
:'&b&lCustom' reason
:'custom-reason' slot
:14 glow
:true
#
// Plays a sound when you grant a player a rank Sound_settings
: #
// The actual sound effect that will play (Some sounds are different in other versions) sound
:"LEVEL_UP" #
// The volume of the sound effect volume
:10 #
// The putch of the sound effect pitch
:10
#
// The item of the border in the GUIS Border: #
// All of the other slots (Not perimeter slots) Inner
: item
: STAINED_GLASS_PANE
:8 #
// The perimeter slots in the GUI Outer
: item
: STAINED_GLASS_PANE
:7
#
// The message that the person who granted the rank will recieve Messages
: Grant
: Rank
: #
// The message that will be sent to staff members with the permission 'grant.notify' #
// Note: there can be more lines in this message Staff
: -"&7[&6&lRankGrant&7] &e{granter}&7 granted &e{target}&7 the rank &e{rank}&7 for &e{duration}&7 because &e{reason}" #
// The message sent to the person who granted the player Granter
: -"&7--------------------" -"&7&lYou have granted a rank to &7: &e&l{target}" -" &bRank&7:&7 {rank}" -" &aDuration&7:&7 {duration}" -" &9Reason&7:&7 {reason}" -"&7--------------------" #
// The message sent to the target if the target is online (The player recieving the grant) Target
: -"&aYou have been granted the rank &f{rank} &afor &f{duration} &abecause &f{reason} &aby &f{granter}" Permission: Staff
: -"&7[&6&lRankGrant&7] &e{granter}&7 granted &e{target}&7 the permission &e{permission}&7 for &e{duration}&7 because &e{reason}" Granter
: -"&7--------------------" -"&7&lYou have given a permission to &7: &e&l{target}" -" &bPermission&7:&7 {permission} : &d{trueorfalse}" -" &aDuration&7:&7 {duration}" -" &9Reason&7:&7 {reason}" -"&7--------------------" Target
: -"&aYou have been granted the permission &f{permission} : {trueorfalse} &afor &f{duration} &abecause &f{reason} &aby &f{granter}"