
EditionPerms
Permissions plugin with the ability to give separate permissions for Java and Bedrock accounts
EditionPerms
A lightweight Minecraft plugin for managing permissions separately for Java Edition and Bedrock Edition players on crossplay servers.
Features
- 🎮 Separate permissions for Java and Bedrock players
- 🔍 Automatic player detection via username prefix and UUID checking
- 🔄 Fast reload - Update permissions without restarting the server
- ⚡ Folia compatible - Works on both Paper and Folia servers
- 🛠️ Simple configuration - 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
-
Player joins → Plugin detects if they're Java or Bedrock
- Checks username prefix (default:
.for Bedrock) - Checks UUID format (
00000000-0000-0000-xxxxfor Bedrock)
- Checks username prefix (default:
-
Groups are checked → Plugin finds matching groups based on player type
-
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 |
- Download the latest
EditionPerms-x.x.x.jar - Place the JAR file in your
plugins/folder - Restart your server
- Edit
plugins/EditionPerms/config.ymlto configure permissions - Run
/editionpermsreloador restart to apply changes
Configuration
The plugin creates a config.yml file in plugins/EditionPerms/:
# ==================================================================================
# 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:
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:
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.
