mBadges icon

Mod - Modrinth

mBadges

Graphical player badges with collections, ordered equipment slots, and generated resource packs.

mBadges project image

Source-provided project description. FreeMinecraftMods keeps creator credit and adds separate compatibility and decision guidance below.

Project overview

mBadges Graphical player badges with collections, ordered equipment slots, and generated resource packs. ## What it does - Stores permanent and expiring badges for online or offline players. - Lets players browse, equip, remove, filter, and reorder badges in a GUI. - Generates a deterministic font resource pack from PNG files and preserves assigned glyphs across restarts. - Displays equipped badges in the player list and, optionally, scoreboard nametags. - Supports SQLite, MySQL, and PostgreSQL without running database work on the server thread. - Provides PlaceholderAPI placeholders, a Java API with events, an authenticated REST API, and database polling for server networks. - Includes English and Russian messages, automatic config-default migration, bStats metrics, and update checks. ## Requirements - Java 25 - Paper, Purpur, or Folia 26.2 - A way to host the generated resource-pack ZIP when automatic delivery is enabled PlaceholderAPI, LuckPerms, Oraxen, and ItemsAdder are optional. mBadges also works when none of them are installed. ## Install 1. Download `mBadges-1.0.0.jar` and place it in the server's `plugins` directory. 2. Start and stop the server once to create `plugins/mBadges`. 3. Add badge PNG files and definitions as described below. 4. Start the server and run `/mbadge resourcepack rebuild`. 5. Host the generated ZIP, then configure resource-pack delivery if players should receive it automatically. Do not install the API JAR as a server plugin. It is only a compile-time artifact for developers. ## Add a badge Put a PNG no larger than 256×256 directly in `plugins/mBadges/badges`, then add its definition to `badges.yml`: ```yaml badges: developer: name: " Developer" description: "Server development team" texture: developer.png permission: mbadge.badge.developer category: staff priority: 100 hidden: false enabled: true temporary: true ``` Badge IDs use lowercase letters, numbers, `_`, or `-`. Removing or reordering definitions does not reassign existing code points; the stable map is kept in `generated/glyphs.yml`. ## Resource pack The default `INTERNAL` mode writes `generated/mbadges-resource-pack.zip` and `generated/resource-pack.yml`. Upload the ZIP to a direct HTTP(S) URL and copy the generated SHA-1 into `resourcepack.yml`: ```yaml delivery: send-on-join: true url: "https://cdn.example.com/mbadges-resource-pack.zip" required: true sha1: "the-40-character-sha1-from-generated-resource-pack-yml" ``` Use `EXTERNAL`, `ORAXEN`, or `ITEMSADDER` mode when another pack pipeline owns font files. In those modes mBadges keeps the glyph map but does not edit third-party configuration or generate its own pack; add the matching bitmap providers to that pipeline yourself. See the [resource pack guide](https://github.com/miklires/mBadges/blob/main/docs/RESOURCE_PACK.md). ## Configuration | File | Purpose | |---|---| | `config.yml` | language, slots, display, expiry, sync, REST, metrics, and updates | | `badges.yml` | badge definitions, permissions, categories, and priorities | | `database.yml` | SQLite, MySQL, or PostgreSQL connection | | `resourcepack.yml` | pack generation, external mode, and delivery | | `gui.yml` | inventory size, materials, and navigation slots | | `lang/en_US.yml` | English messages | | `lang/ru_RU.yml` | Russian messages | Missing settings are added on startup. `/mbadge reload` reloads messages, GUI settings, safe main settings, badge definitions, and the internal pack. Database type and connection settings require a full restart. Slot limits start at `equipment.default-slots`. Grant `mbadge.max.2`, `mbadge.max.3`, and so on to increase an individual player's limit up to `equipment.max-badges-hard-limit`. ## Commands | Command | Description | |---|---| | `/badge` or `/badge gui` | Open the collection GUI | | `/badge list` | List owned badges | | `/badge set ` | Equip a badge | | `/badge remove ` | Unequip a badge | | `/badge clear` | Unequip every badge | | `/badge info ` | Show badge details | | `/mbadge give [--duration 1w2d]` | Give a badge | | `/mbadge take ` | Remove a badge | | `/mbadge equip ` | Force-equip a badge | | `/mbadge unequip ` | Unequip a badge | | `/mbadge clear ` | Clear equipped badges | | `/mbadge list ` | Show collection counts | | `/mbadge reload` | Reload safe settings and definitions | | `/mbadge resourcepack rebuild` | Force a pack rebuild | Names work for players previously seen by the server. UUIDs work without requiring the player to have joined. ## Permissions | Permission | Default | Purpose | |---|---|---| | `mbadge.use` | everyone | Player commands | | `mbadge.gui` | everyone | Collection GUI | | `mbadge.badge. ` | unset | Use a configured badge | | `mbadge.max. ` | unset | Increase equipped slots | | `mbadge.admin` | operators | Every administrative permission | | `mbadge.admin.give` | operators | Give badges | | `mbadge.admin.take` | operators | Remove badges | | `mbadge.admin.equip` | operators | Equip or unequip for players | | `mbadge.admin.clear` | operators | Clear equipped badges | | `mbadge.admin.list` | operators | Read collection counts | | `mbadge.admin.reload` | operators | Reload configuration | | `mbadge.admin.resourcepack` | opera

FreeMinecraftMods decision guide

This mod is most relevant to players looking for decoration, social on folia, paper, purpur. Treat those labels as discovery hints, then verify the exact file and dependency list on the official project page.

The source record was updated on Aug 21, 2026, which is a recent freshness signal. A recent date does not guarantee support for every loader or Minecraft version, so still inspect the current file list.

What to verify before choosing a file

  • Confirm that the file is published by the credited creator on the linked official source.
  • Match the Minecraft version exactly instead of relying only on a broad category label.
  • Read dependencies, incompatibilities, and changelog notes before updating an existing instance.
  • Match the loader or server platform and its required version. Forge and NeoForge are not interchangeable.
  • Back up worlds and configuration files before testing the project in a long-term save or public server.

Compatibility at a glance

Minecraft versions in this snapshot: 26.2

Loaders and platforms: folia, paper, purpur

decorationsocial

Before you install

Match the exact Minecraft version and loader, install every required dependency, and test in a separate profile before opening an important world. Keep a backup before changing a working mod list.

Source, licensing, and corrections

FreeMinecraftMods does not mirror the project files. Use the official source for downloads, release notes, dependencies, support, and licensing details. Project names, images, and creator-written descriptions remain the property of their respective owners.

How listings are reviewed | Report incorrect project information | Rights-holder and DMCA information

Limited catalog information

This source record is available for discovery, but it does not yet contain enough verified description, classification, image, freshness, or compatibility information to be indexed as a full editorial page. It is therefore marked noindex and is not eligible for advertising.