mirror of
https://codeberg.org/stormyyy/gourd-perms.git
synced 2026-10-31 15:38:58 -06:00
A permissions & ranks plugin for PumpkinMC.
| .cargo | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| build.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
Gourd Perms
A permissions & ranks plugin for PumpkinMC.
This plugin does not take over the vanilla permissions check system, but uses it.
AI Disclaimer
A majority of this plugin is hand-written code, aside from the database migration system and this crate I used for easy color formatting.
Behavior Warning
If you notice player's permissions haven't updated after a group is deleted or a group is no longer default, this is expected.
The Pumpkin plugin API currently doesn't have a way to easily clear all existing permissions from a player to do a "refresh", so just restart the server when this happens.
Commands
/gp
user{user}permissionset{node} {value} - sets a permission node on a player totrueorfalse.unset{node} - removes a set permission node from a player.list- lists all set permission nodes on a player.check{node} - checks what a player's permission node is set to.
groupadd{group_name} - adds the player to a group.remove{group_name} - removes the player from a group.list- lists all groups the player is added to.
prefix*set{prefix} - sets a prefix on the player. Overwrites any group prefix.unset- removes the prefix from the player, if it exists.suffix*set{suffix} - sets a suffix on the player. Overwrites any group suffix.unset- removes the suffix from the player, if it exists.
grouplist- lists all available groups and their weights (priority over each other).create{group_name} {weight} - creates a new group with a specified weight.delete{group_name} - deletes an existing group.- {group_name}
permissionset{node} {value} - sets a permission node on a group totrueorfalse.unset{node} - removes a set permission node from a group.list- lists all set permission nodes on a group.check{node} - checks what a group's permission node is set to.
prefixset{prefix} - sets a prefix on the group. Priority is based on weight.unset- removes the prefix from the group, if it exists.
suffixset{suffix} - sets a suffix on the group. Priority is based on weight.unset- removes the suffix from the group, if it exists.
weightset{weight} - sets a group's weight to anything from 0-65535.
defaultset{bool} - sets whether a group should be added by default to all players.
Configuration
Configuration is done through the config.toml file in the plugins/data/GourdPerms/ directory. A server restart is required for configuration changes to take place.
Permissions
GourdPerms:admin- access to all/gpcommands.GourdPerms:chat_formatting- allows the player to use chat formatting like&afor green color.
Todo
- Pretty, colored messages
- Store data in a DB rather than
data.json - Finish implementing default groups
- Rank prefix and suffix (optional through config)
- Specific permissions for each command
- Spigot-like permission nodes with wildcards (i.e.
GourdPerms.admininstead ofGourdPerms:admin)