Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
Platforms
Creators
Details
OumProfile
OumProfile is a multi-profile plugin for Paper servers (1.21+). It allows players to create and switch between different profile slots, each with their own inventory, status attributes, LuckPerms group, and Vault economy balance. This is useful for servers offering distinct loadouts or gameplay modes on a single account.
This plugin is built using the OumLib framework.
Features
Each player profile stores:
- Inventory State: Storage contents, armor contents, off-hand item, and ender chest.
- Attributes: Health, max health, food level, saturation, XP level, and XP progress.
- Status States: GameMode, active potion effects, fall distance, fire ticks, and remaining air bubbles.
- Movement States: Flight capabilities (
allowFlightandisFlyingstate). - Optional Features: Coordinate location (if
save-locationis enabled), Vault balance, LuckPerms group, mcMMO skills, AuraSkills, JobsReborn jobs, custom multi-currencies, playtime tracking, and vanilla Minecraft statistics. - Server Resilience: Non-blocking periodic auto-save to protect against sudden crashes, plus administrative stale profile pruning (
/profile admin prune <days>) to keep database storage compact.
Requirements
- Server: Paper 1.21 or newer
- Java: Java 21 or newer
- Library: OumLib (shaded within the jar)
Soft Dependencies
The plugin automatically integrates with the following if present on the server:
- LuckPerms: For per-profile permission groups.
- Vault & PlayerPoints: For per-profile economy balances.
- mcMMO: For per-profile skill level and experience synchronization.
- AuraSkills: For per-profile skill level and experience synchronization.
- JobsReborn: For per-profile job level and experience progression.
- CombatLogX / PvPManager / DeluxeCombat: Automatic combat tag detection for profile switch blocking.
- PlaceholderAPI & MiniPlaceholders: For displaying profile statistics in chats, scoreboards, and tablists.
Commands & Permissions
Player Commands
| Command | Description | Permission | Default |
|---|---|---|---|
/profile |
Opens the profile selection GUI. | profiles.use |
True |
/profile list |
Lists all created profiles in chat. | profiles.use |
True |
/profile current |
Displays the active profile name. | profiles.use |
True |
/profile create <name> |
Creates a new profile with the given name. | profiles.create.<name> |
OP |
/profile switch <name> |
Switches to the specified profile. | profiles.use |
True |
/profile delete <name> |
Deletes the specified profile. | profiles.use |
True |
/profile rename <old> <new> |
Renames a profile. | profiles.use |
True |
/profile alerts |
Toggles receiving admin profile alerts. | profiles.alerts |
OP |
Aliases: /profiles, /prof
Administrative Commands & Permissions
| Command / Permission | Description | Default |
|---|---|---|
/profile admin open <player> |
Opens the profile GUI for the specified player. | OP (profiles.admin) |
/profile admin list <player> |
Lists all profiles of the specified player. | OP (profiles.admin) |
/profile admin create <player> <profile> |
Creates a profile for the specified player. | OP (profiles.admin) |
/profile admin switch <player> <profile> |
Forces the specified player to switch to a profile. | OP (profiles.admin) |
/profile admin delete <player> <profile> |
Deletes a profile for the specified player. | OP (profiles.admin) |
/profile admin rename <player> <old> <new> |
Renames a profile for the specified player. | OP (profiles.admin) |
/profile admin export <player> <profile> |
Exports a player's profile to a JSON file. | OP (profiles.admin) |
/profile admin import <player> <file> |
Imports a profile from a JSON file for a player. | OP (profiles.admin) |
/profile admin prune <days> |
Prunes inactive profiles older than the given days. | OP (profiles.admin) |
/profile debug |
Toggles debug logging in console. | OP (profiles.admin) |
/profile reload |
Reloads all configuration files. | OP (profiles.admin) |
profiles.admin |
Access to administrative commands and config reload. | OP |
profiles.create.* |
Permission to create profiles with any name. | OP |
profiles.max.unlimited |
Bypasses all profile slot limits. | OP |
profiles.max.<number> |
Sets the maximum profile slot limit (e.g. profiles.max.5). |
False |
profiles.bypass.combat |
Allows switching profiles while tagged in combat. | OP |
profiles.bypass.warmup |
Bypasses the switch countdown warmup. | OP |
profiles.bypass.cooldown |
Bypasses the switch cooldown. | OP |
profiles.alerts |
Receives administrative alerts for profile actions. | OP |
Placeholders
Supported under the oumprofile namespace for PlaceholderAPI and MiniPlaceholders:
| Description | PlaceholderAPI | MiniPlaceholders |
|---|---|---|
| Active profile name | %oumprofile_active% |
<oumprofile_active> |
| Total profiles created | %oumprofile_count% |
<oumprofile_count> |
| Maximum allowed profiles | %oumprofile_max% |
<oumprofile_max> |
| Saved Vault economy balance | %oumprofile_balance% |
<oumprofile_balance> |
| Stored primary LuckPerms group | %oumprofile_group% |
<oumprofile_group> |
| Profile playtime (seconds) | %oumprofile_playtime% |
<oumprofile_playtime> |
| Formatted playtime (duration) | %oumprofile_playtime_formatted% |
<oumprofile_playtime_formatted> |
| Stored skill level | %oumprofile_skill_<plugin>_<skill>_level% |
<oumprofile_skill_<plugin>_<skill>_level> |
| Stored skill experience | %oumprofile_skill_<plugin>_<skill>_xp% |
<oumprofile_skill_<plugin>_<skill>_xp> |
| Stored job level | %oumprofile_job_<job>_level% |
<oumprofile_job_<job>_level> |
| Stored job experience | %oumprofile_job_<job>_xp% |
<oumprofile_job_<job>_xp> |
| Custom economy balance | %oumprofile_currency_<name>% |
<oumprofile_currency_<name>> |
Custom Items & Head Textures
GUI materials support OumLib's item resolution. Custom head textures (head:<base64>) and items from third-party plugins can be used directly:
head:<Base64>oraxen:custom_itemitemsadder:custom_itemnexo:custom_itemmmoitems:TYPE:IDmythicmobs:item_id
Support & Links
- Discord Support Server: https://discord.gg/maDcwPV6KB
- GitHub Repository: https://github.com/sun-mc-dev/oumprofile


