EditionPerms
Permissions plugin with the ability to give separate permissions for Java and Bedrock accounts
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
EditionPerms
EditionPerms
A lightweight Minecraft plugin for managing permissions separately for Java Edition and Bedrock Edition players on crossplay servers.
Features
- 🎮 Lightweight - 🔍 Lightweight via username prefix and UUID checking - 🔄 Lightweight - Update permissions without restarting the server - ⚡ Lightweight - Works on both Paper and Folia servers - 🛠️ Lightweight - Easy YAML setup - 🪶 Lightweight - Minimal performance impact
Why was this plugin created?
This plugin was originally created to solve a specific problem on crossplay servers: giving Java Edition players anticheat bypass permissions while keeping Bedrock Edition players under normal anticheat protection. It has since evolved into a simple permission management system for any crossplay server running Geyser/Floodgate.
How It Works
1. Player joins → Plugin detects if they're Java or Bedrock - Checks username prefix (default: `.` for Bedrock) - Checks UUID format (`00000000-0000-0000-xxxx` for Bedrock)
2. Groups are checked → Plugin finds matching groups based on player type
3. Permissions applied → All matching groups' permissions are granted instantly
Commands
| Command | Aliases | Permission | Description | |---------|---------|------------|-------------| | `/editionpermsreload` | `/epr`, `/epreload`, `/editionreload` | `editionperms.reload` | Reloads the config and reapplies all permissions |
1. Download the latest `EditionPerms-x.x.x.jar` 2. Place the JAR file in your `plugins/` folder 3. Restart your server 4. Edit `plugins/EditionPerms/config.yml` to configure permissions 5. Run `/editionpermsreload` or restart to apply changes
Configuration
The plugin creates a `config.yml` file in `plugins/EditionPerms/`: ```yaml
==================================================================================
BEDROCK PLAYER DETECTION
==================================================================================
These settings determine HOW the plugin identifies Bedrock players
detection:
Bedrock players have this prefix in their username (default: ".")
Example: ".PlayerName" is a Bedrock player, "PlayerName" is Java
bedrock-prefix: "."
Also check UUID format to detect Bedrock players (recommended: true)
Bedrock UUIDs start with "00000000-0000-0000"
bedrock-uuid-check: true
==================================================================================
PERMISSION GROUPS
==================================================================================
After a player is identified as Java or Bedrock, these groups assign permissions
groups:
Give permissions to ALL Java players
default-java: type: java prefix: "" # LEAVE EMPTY to apply to ALL Java players permissions: - minecraft.command.me - minecraft.command.trigger
Give permissions to ALL Bedrock players
default-bedrock: type: bedrock prefix: "" # LEAVE EMPTY to apply to ALL Bedrock players permissions: - minecraft.command.me - minecraft.command.trigger ```
Example Configurations
Give Java players anticheat bypass: ```yaml groups: default-java: type: java prefix: "" permissions: - nocheatplus.shortcut.bypass - spartan.bypass - essentials.spawn
default-bedrock: type: bedrock prefix: "" permissions: - essentials.spawn ```
Give Java players creative permissions: ```yaml groups: default-java: type: java prefix: "" permissions: - worldedit.selection - essentials.fly - essentials.gamemode
default-bedrock: type: bedrock prefix: "" permissions: - essentials.spawn ```
License
This project is licensed under the MIT License - see the LICENSE file for details.