This commit is contained in:
2025-07-11 21:33:16 +02:00
parent 36cd63941b
commit 84ffc409cb
5 changed files with 157 additions and 74 deletions

View File

@@ -1,7 +1,7 @@
# LitePermissions (Spigot / BungeeCord Plugin)
**LitePermissions** is a lightweight, hybrid permissions plugin designed for **Spigot and BungeeCord** servers.
It aims to offer clean, fast, and flexible permission management across single or multi-server networks, with future support for web and GUI configuration.
It aims to offer clean, fast, and flexible permission management across single or multi-server networks, with full support for **multi-world** and **per-user overrides**.
---
@@ -16,10 +16,10 @@ This plugin is currently in **active development**. Major features are being imp
### Core Features
-**Custom Permissible Injection** (Spigot)
- 🔄 **GroupsData** Group-based permission management
- 🔄 **UserData** Per-player permission storage and overrides
- 🔄 **Reload Command** Reload permissions without restarting
- 🔄 **Multi-world Permission Support**
- **Multi-world Permission Support** Define permissions per world
- 🔄 **GroupsData** Group-based permission management with weights
- 🔄 **UserData** Per-player permission overrides
- 🔄 **Reload Command** Reload permission data without restarting
### GUI & Web
- 🔄 **GUI Editor** In-game menus to manage permissions and groups
@@ -32,16 +32,27 @@ This plugin is currently in **active development**. Major features are being imp
---
## 📊 Permission Resolution Logic
## 📊 How Permissions Are Decided
When checking permissions, **user-defined permissions always override group-defined ones**, and groups are sorted by weight:
LitePermissions checks permissions in this priority order:
| User Permission | Group Permission | Final Result | Source |
| --------------- | ---------------- | ------------ | ------------ |
| `true` | `false` | ✅ `true` | `user` |
| `false` | `true` | ❌ `false` | `user` |
| *(none)* | `true` | ✅ `true` | `group:name` |
| *(none)* | *(none)* | ❌ `false` | `none` |
1. ✅ User's **world-specific** permission
2. ✅ User's **global** permission
3. ✅ Groups **world-specific** permission (highest-weight group only)
4. ✅ Groups **global** permission (highest-weight group only)
5. ❌ If not found anywhere, permission is **denied by default**
---
### 🔍 Examples
| Where is it set? | User Value | Group Value | Final Result | Why? |
|---------------------|------------|-------------|--------------|----------------------------|
| In world settings | `true` | `false` | ✅ `true` | User's world setting wins |
| In world settings | `false` | `true` | ❌ `false` | User's world setting wins |
| Global (not world) | `true` | `false` | ✅ `true` | User's global setting wins |
| Not set for user | *(none)* | `true` | ✅ `true` | Comes from group |
| Not set anywhere | *(none)* | *(none)* | ❌ `false` | Denied by default |
---
@@ -49,6 +60,6 @@ When checking permissions, **user-defined permissions always override group-defi
> ⚠️ No public releases yet. Clone and build manually.
### Spigot
### Spigot Installation
```bash
git clone https://git.triler.eu/JernejTDO/LitePermissions.git