Why SkyPerms?
When I first started learning Java and the Spigot API I decided my ultimate goal would be a permissions plugin of my very own. After the success I've had with Universes, I decided it was time to see if I could do it. Turns out, a basic permissions management system only takes about ten minutes to implement and perhaps twenty lines of code. Of course, I did more than just implement the function. There's a bit more to a proper plugin than that, but it was far simpler than I had expected. Thus, SkyPerms was created and tested in a single weekend (compared to Universes which took roughly a month and a half).
That's great, but what is SkyPerms? Why should I use it?
Oh, I'm so glad you asked. SkyPerms is a lightweight permissions plugin that offers a short selection of straightforward commands as well as a file to manage permissions. But where it's different that quite a lot of permissions plugins, is that it does not rely on Vault, and it can change the overhead name tags. That's right, a player's rank will show in chat, in the tab list, and over their heads in game. Of course, this feature is not for everyone, so it can be disabled. Let's dig into it a little.
First, the basic config:
The config.yml is very small. Only three adjustable options. One to enable or disable overhead names, one for the character that heads the username in chat, and one that ends it. (The < > symbols). By default, names show up as, for example, "<zippitey2> hi." But by changing those last two settings, it could look like "zippitey2: hi" instead.
The permissions file:
The permissions.yml file is set up much like other permissions plugins are, so no having to learn some confounded wacky setup when/if you transition. When the plugin first loads it will spit a lovely default group into the file so you know what a group should look like. The file will also contain a section labeled User. Listed by UUID are all the players on your server. There is a line indicating the user's rank as well as one indicating their name. The name field isn't used by the plugin, but I figured knowing who is who in the file would be useful. Now, working directly in the file isn't for everyone. So, if you don't like doing it this way or this way somehow causes your server to explode, there are some nifty commands to help out.
Commands?
If you ever are unsure of how to use a command, just type /sp and it will tell you the plugin version along with all the commands the plugin has. Let's go through the commands, shall we?
/wp
The master command. This shows the help menu.
/wp group <name> <add:remove> <permission>
Use this command to add or remove a permission from the specified group. Note that each execution of the command only works for one permission. (I do plan on making it possible to do multiple permissions in one though).
/wp group <name> prefix <prefix>
Use this command to change a group's prefix everywhere.
/wp group <name> create
This will create a group with the given name.
/wp group <name> delete
This will delete the group with the given name. Any members in the group will be chucked into whichever group you've marked as the default.
/wp user <name> <add:remove> <permission>
This will let you add or remove permissions from specific users.
/wp user <name> set <group>
This is how you assign a player to a group.
/sp user <name> prefix <prefix>
This will allow you to give a user a prefix. To remove a prefix, run this command and assign the user *clear (with the star there, yes) and it will clear it. Just to make it more obvious for those skimming:
/sp user <name> prefix *clear
This removes a user's prefix.
/sp reload
If you've made changes in the files, run this command and everything (config included) will be reloaded, refreshed, and applied.
Permissions:
It goes without saying, you don't want your default members playing with the ranks. So, there are permission nodes.
SkyPerms.admin
This is the basic permission. It grants access to all of the management commands.
SkyPerms.*
This is the plugin's wildcard permission. Using this grants the same permissions as SkyPerms.admin, but if any other permissions are introduced later, it will grant those as well.
Closing Notes:
I hope you all enjoy using this plugin. If you ever have trouble, have questions, or need help, send me a note here or on Discord (Whisp Reedwell#5879), and I'll do what I can to assist. As of right now, it is possible to change the settings of offline users with the commands, but the method I am currently using is deprecated (no longer supported and likely to be removed from the spigot API), so I will be working at some point to change this. Whenever I do, there will be an update for it. I encourage everyone who uses the plugin to update when that happens so the plugin doesn't break on you after a game update. Also, if you think there is a feature missing or that the plugin could benefit from, let me know. Most likely I will try to implement it as soon as I can. And, I really like suggestions. The source code link will be added soon as well.
To Do:
- add a command to list groups
- make it possible to add multiple permissions to a group or user at once.
Unrelated:
I've been looking to try my hand developing some sort of simple PC game. If anyone would like to join in on the fun, let me know on Discord (Whisp Reedwell#5879). I plan on looking into Unity or UE4. Rest assured, my plugins will still be actively maintained. Also, if any of you have been to my profile page, you might notice the Padlocks plugin, which is in beta. I am still working on it. It's just been a very time consuming project so I haven't been able to get a whole lot done while I've been in school. I expect it will be actually finished at some point during the summer here in the US.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta