OneLiteFeatherNET / OneLiteFeatherNET/Voyager
Permission system: staff roles, player roles
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 12
Description
Description
A permission system is needed to gate admin commands, dev mode, and future cosmetics to the appropriate roles. Minestom has no built-in permission backend — we need a lightweight role-based system.
Acceptance Criteria
- Roles defined:
player(default),moderator,admin,developer - Roles are stored in the
ElytraPlayerEntityDB record as a string field - On player join, their role is loaded and applied as a Minestom permission group
-
voyager.adminpermission maps toadminanddeveloperroles -
voyager.devpermission maps todeveloperrole only -
/role set <player> <role>command for admins to change roles (requiresvoyager.admin) - Role changes persist to DB immediately
Technical Details
- Minestom
PermissionAPI:player.addPermission(new Permission("voyager.admin")) - No third-party permission plugin needed — custom
PermissionServiceinserver - Role is loaded async on join and applied before the player entity enters any phase
Dependencies
- "Persist player profiles on first join" (Alpha) provides the DB entity to extend
Estimate
M
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the existing ElytraPlayerEntity DB record and the server’s player-join flow first, then review the Minestom Permission API and identify where a custom PermissionService belongs. Trace the dependency on first-join profile persistence before implementing the role command. Done means roles load before phase entry, permissions are applied, admin changes persist immediately, and all listed role mappings work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- authorization, backend, database
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100