Home›Java›Mods›mProfile
mProfile
ModsJava

mProfile

by miklires · on Modrinth

Private-by-design player profiles, statistics, privacy controls, and social integrations for Paper, Purpur, and Folia.

⬇ Download on Modrinth

mProfile

Private-by-design player profiles, statistics, privacy controls, and social integrations for Paper, Purpur, and Folia.

Paper Purpur

GitHub Modrinth Discord

Release Java 25 Minecraft 26.2

Features

Requirements and installation

  1. Put mProfile-1.1.0.jar in the server's plugins directory.
  2. Start the server once.
  3. Edit plugins/mProfile/config.yml if desired.
  4. Run /profile reload.

The generated defaults work without another plugin. Set language.default: ru_RU and reload to switch messages and the GUI to Russian. Missing translation keys fall back to bundled English automatically.

Commands

Command Permission Description
/profile mprofile.use Open your profile
/profile <player> mprofile.use Open an online or stored profile
/profile bio <text> mprofile.edit Set a biography; omit text to clear it
/profile visibility <PUBLIC|LIMITED|PRIVATE> mprofile.edit Set profile privacy
/profile theme <name> mprofile.edit Select a configured theme
/profile reload mprofile.reload Reload configuration and language files

mprofile.view.private lets trusted staff inspect private profiles. mprofile.cooldown.bypass bypasses the viewing cooldown. mprofile.admin grants the staff permissions.

Privacy model

The owner can always view their own profile. mProfile stores only the Minecraft UUID, last name, biography, privacy/theme preferences, and displayed gameplay statistics. It does not store IP addresses, chat, inventory contents, or location history.

GUI and interactions

Slots in config.yml use human-friendly numbering from 1 through the configured inventory size. Invalid materials and slots fall back or are skipped safely; duplicate slots never create multiple actions.

language:
  default: en_US

access:
  view-cooldown-millis: 750
  right-click:
    enabled: true
    require-sneaking: true

interactions:
  enabled: true
  actions:
    message:
      enabled: true
      slot: 47
      material: PAPER
      mode: SUGGEST
      command: "msg {player} "
      required-plugin: ""

SUGGEST sends a clickable prompt that prepares the command. RUN executes it immediately and should only be used for commands that already perform their own permission and confirmation checks. Actions with required-plugin are hidden while that plugin is unavailable.

Storage and safety

Profile data is kept in plugins/mProfile/profiles.mv.db. Database access is serialized on a dedicated virtual thread and never blocks a server tick. Failed writes cannot roll back a newer cached update, corrupted privacy values fail closed, and shutdown waits at most five seconds before cancelling remaining storage tasks.

Configuration input is bounded: biographies fit the database schema, control characters are removed, player names and locale paths are validated, cooldowns are clamped, and custom action commands reject control characters. Dynamic player text is inserted without MiniMessage tag interpretation.

Back up the plugin directory before moving data between servers. Do not edit the database while the server is running.

API

Other plugins can load MProfileApi from Bukkit's Services Manager. Profile reads return CompletableFuture<Optional<ProfileSnapshot>>; GUI opens return CompletableFuture<Boolean> and are automatically handed to the correct player scheduler. Compile against the lightweight API JAR produced in api/build/libs.

Telemetry and updates

bStats is disabled by default until a public project ID is assigned. If enabled later, it contains no UUIDs, names, biographies, or profile statistics. The asynchronous Modrinth update check is separate and can be disabled with updates.enabled: false.

Build

./gradlew clean build

The plugin JAR is written to build/libs; API artifacts are written to api/build/libs.

Licensed under the MIT License.

Quick facts

Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more