A fully GUI-driven perk plugin for Minecraft Paper/Spigot servers, with BungeeCord support.
FPerk is a 100% GUI perk plugin for Minecraft servers. Everything is managed through a single command, and all GUIs are fully configurable. It supports BungeeCord for multi-server setups and synchronizes player perk states via a shared database.
- 🖥️ 100% GUI-based — all interactions go through fully configurable chest menus
- 🔧 Single command —
/perkopens everything - 🌍 Full language customization — English and French supported out of the box
- 🎨 Fully customizable perks and skills
- 🔑 Per-perk permission system
- ⏱️ Timed perks — activation duration and cooldown configurable per perk
- 🔗 BungeeCord support — sync player data across multiple servers via MySQL/MariaDB
- 📦 Pre-configured perks — Fly, Heal, Night Vision, Glowing, Keep Inventory, Keep Experience, and more
The following skill types are available for building custom perks:
| Type | Description |
|---|---|
FLY |
Allows the player to fly |
KEEP_INVENTORY |
Player keeps their inventory on death |
KEEP_EXPERIENCE |
Player keeps their experience on death |
EFFECT |
Applies a potion effect to the player |
PACIFICATION |
Mobs no longer attack the player |
ANTI_PHANTOM |
Phantoms no longer attack the player |
FLY_SPEED |
Increases fly speed (requires Fly) |
AUTO_SMELT |
Automatically smelts mined ores |
ANTI_KNOCKBACK |
Prevents knockback |
CURE_EFFECT |
Removes all negative effects |
SECOND_CHANCE |
Acts as a Totem of Undying |
BROKEN_FALL |
Removes fall damage |
VACCUM |
Automatically picks up nearby items |
- Java 16+
- Vault
- LuckPerms (required dependency)
- Database: SQLite (single server) or MySQL/MariaDB (multi-server / BungeeCord)
- Minecraft Java Edition: 1.16.x — 1.21.x
- Platforms: Bukkit, Spigot, Paper, Purpur
- Download the latest JAR from the Releases page or Modrinth.
- Place
FPerk-x.x.x.jarin theplugins/folder of your server(s). - Start (or restart) the server to generate default configuration files.
- Edit the files in
plugins/FPerk/to your liking (see Configuration). - Run
/perk admin reloadin-game or restart the server to apply changes.
lang: "en" # "en" or "fr"
status:
enabled: "&2Enabled"
disabled: "&cDisabled"SQLite (single server, no setup needed):
database:
type: SQLite
url: "jdbc:sqlite:database.db"
user: "root"
password: ""MySQL (multi-server / BungeeCord):
database:
type: MySQL
url: "jdbc:mysql://localhost:3306/fperk"
user: "root"
password: ""Define your perks here. Example:
"fly":
displayName: "Fly" # Name shown in GUI
material: "ELYTRA" # Item icon in GUI
skills: # List of skills to apply
- "fly"
delais: 500 # Cooldown in milliseconds between activations
ignoreDelais: true # Ignore cooldown
time: 500 # Activation duration in milliseconds
persistant: false # If true, ignores the time limit
permission: "fperk.fly" # Required permission node
bannedWorld: [] # Worlds where this perk is disabledDefine your skills here. Example:
"heal":
displayName:
- "Heal" # Description shown in GUI
type: EFFECT # Skill type (see Skill Types above)
effect: "instant_heal" # Potion effect ID (only for EFFECT type)
level: 1 # Effect level (only for EFFECT type)| Command | Permission | Description |
|---|---|---|
/perk |
fperk.show |
Opens the perk list GUI |
/perk admin toggle [player] |
fperk.admin.toggle |
Toggle a perk for another player |
/perk admin reload |
fperk.admin.reload |
Reload the plugin configuration |
Individual perk permissions are defined per perk in perk.yml (e.g. fperk.fly).
This project is licensed under the GPL-3.0 License.