EditionPerms

Permissions plugin with the ability to give separate permissions for Java and Bedrock accounts

143

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.

ADS