Description
Gallery
Changelog
Versions

ᴛᴇꜱᴛᴇᴅ ᴏɴʟу ᴏɴ ᴘᴀᴘᴇʀ ᴀɴᴅ ᴘᴀᴘᴇʀ ғᴏʀᴋꜱ
The status plugin allows players to use pre-made statuses with the command /status. These different statuses can be set in a file.
TAB LIST

CHAT

✨ Features
- Advanced Formatting: Full MiniMessage support (gradients, hex colors, hover events) for chat, tablist, and nametags..
- Status System: Create custom statuses (Admin, VIP, etc.) with unique prefixes.
- Tab List Control:
- Animated headers/footers.
- Rotating Messages: Add scrolling lines with
<rotating>. - Sorting: Sort players by rank (Owner > Admin > Member > AFK > NO STATUS).
- Stats: Display deaths, country, TPS, Ping ... .
- Country Display: Automatically show player flags/countries in tab/chat (GeoIP).
- Death Tracking: count and display player deaths with custom formatting
[☠ 5]. - Integrations:
- PlaceholderAPI: Full support for placeholders.
- LibertyBans: Custom mute/ban notification styling.
- TAB: seamless compatibility if you prefer using TAB plugin.
- Use of Paper's modern chat system for maximum compatibility with other plugins.
📦 Installation
- Download the latest JAR.
- Drop it into your server's
pluginsfolder. - Restart the server.
- Edit
plugins/StatusPlugin/config.ymlto your liking.
🧩 Configuration
config.yml: Main settings (Chat, Integrations, GeoIP).status-options.yml: Define your statuses and their formats.tablist.yml: Configure header, footer, and player list format.language.yml: Translate all plugin messages.
Server-wide Placeholders
- %statusplugin_performance% - Server TPS performance (colored)
- %statusplugin_mspt% - Server MSPT (Average Tick Time)
- %statusplugin_total_deaths% - Total server deaths (formatted with K/M suffixes)
- %statusplugin_total_deaths_raw% - Total server deaths (raw number)
Player-specific Placeholders
- %statusplugin_status% - Player's formatted status display
- %statusplugin_status_raw% - Player's raw status key
- %statusplugin_deaths% - Player's death count
- %statusplugin_deaths_formatted% - Player's death count formatted with a skull icon (e.g. [☠ 5])
- %statusplugin_country% - Player's country name
- %statusplugin_countrycode% - Player's country code
This project is licensed under a Custom License.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
|
R
7.1
|
14h ago | 1 | |||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 | ||||
| 14h ago | 1 |
[7.1.5] StatusPlugin 7.1.5
by Markap on Oct 15, 2026
Download
Small fixes...
[7.1.4] Performance update - see changelog
by Markap on Oct 15, 2026
Download
# Changed
# Fixed
# Added
## Notice:
I can't say with 100% certainty exactly how much of a performance improvement this update will bring to your specific server. However, performance should be significantly better than before, especially with more players.
Since I had to make some deep changes to the code for this update, there may be some bugs. All core functions have been thoroughly tested and the plugin has passed all internal tests. Nevertheless, I haven’t had enough time yet to test every function extensively. Even so, this build is labeled as a “Release” rather than a “Beta” because the performance boost benefits everyone.
- Tab list refresh computes **server-wide placeholders** (online count, world counts, TPS, time, …) once per refresh instead of once per line and player, and parses header/footer lines without player-specific placeholders only once. With **100 players** a refresh **dropped from ~110 ms** to **~6 ms** on the main thread.
- List names, nametag team prefixes and header/footer are only sent when they changed. Previously every refresh broadcast ~20,000 packets at 100 players **(~0.7 MB/s)**; now only the header/footer is re-sent.
- Joining no longer refreshes every online player's tab list; others only get an updated header/footer (online count) on the next tick, shared by all joins in that tick. The online count now also updates right after a player quits.
- Chat messages are rendered once instead of once per viewer (ChatRenderer.viewerUnaware), ~100× less work per message at 100 players. This also avoids one main-thread PlaceholderAPI lookup per viewer when the chat format contains PAPI placeholders.
- Parsed status, death count, name/status color and URL hover components are cached instead of re-parsed on every use; config values like tablist.enabled, chat.enabled and the sorting priority are read once per (re)load.
- The tab refresh only re-renders a list name or sort team when the player's status, deaths or country changed (list names using PlaceholderAPI are still re-rendered every time). Names and teams changed by other plugins are still restored on the next refresh.
- Player statuses and status requests are saved in the background (at most every 5 seconds) instead of rewriting the whole file on the main thread for every /status, /status-clear, suggestion, accept/deny and first join with a default status. Data is still saved immediately on reload and shutdown.
- The LibertyBans mute check uses LibertyBans' cache of online players' mutes instead of a database query per chat message. It now also catches IP mutes, the same mutes LibertyBans itself enforces (BETA).
# Fixed
- A chat message or placeholder request during /status-admin reload (or while a status suggestion is accepted) could briefly see no status for a player.
# Added
- benchmark/: test-server benchmark with 100 bots, plus a check that two plugin versions render identical tab lists, nametags and chat (see benchmark/README.md on github). This is more an internal change.
## Notice:
I can't say with 100% certainty exactly how much of a performance improvement this update will bring to your specific server. However, performance should be significantly better than before, especially with more players.
Since I had to make some deep changes to the code for this update, there may be some bugs. All core functions have been thoroughly tested and the plugin has passed all internal tests. Nevertheless, I haven’t had enough time yet to test every function extensively. Even so, this build is labeled as a “Release” rather than a “Beta” because the performance boost benefits everyone.
- > If you had the previous version of the plugin, you just need to replace the JAR file.
[7.1.3] StatusPlugin 7.1.3
by Markap on Oct 15, 2026
Download
## [7.1.3] - 2026-09-09
### Fixed
### Changed
### Removed
### Fixed
- Fixed
java.lang.IllegalStateException: zip file closederror in theOkHttp TaskRunnerthread during plugin disablement or server shutdown by removing shaded OkHttp background threads and switching to the standard library HTTP client.
### Changed
- Migrated all HTTP requests in
VersionChecker(Modrinth update checking) andCountryManager(IP geolocation lookup) to native JDKjava.net.http.HttpClient. - Cleaned up HTTP resource teardown using modern
HttpClient.close().
### Removed
- Removed dependencies on
com.squareup.okhttp3:okhttp,okio, andkotlin-stdlib, significantly reducing shaded plugin JAR size from ~2.8 MB to ~159 KB (~94% reduction).
[7.1.2] StatusPlugin 7.1.2
by Markap on Oct 15, 2026
Download
## [7.1.2]
### Added
### Added
- New setting
requests.append-clear-color(default:true) to automatically append a clear color code (<reset>) at the end of suggested statuses, ensuring the player's name does not inherit the status color in chat or tablist/nametag.
[7.1.1] StatusPlugin 7.1.1
by Markap on Oct 15, 2026
Download
## [7.1.1] - 2026-09-06
### Added
### Fixed
### Added
- Recommended color code generator website setting (
requests.generator-website) inconfig.yml(default:https://www.birdflop.com/resources/rgb/), shown with an interactive clickable link in/status-suggest info(hidden if set to empty). - Dedicated aliases for commands:
/statusadmin,/statussuggest,/statusclear,/statuspreview, and/st. - Automated unit test suite in
StatusAdminCommandTest.
### Fixed
- Fixed
ArrayIndexOutOfBoundsExceptionwhen tab-completing/status-adminwith empty or null argument arrays. - Fixed format examples in
/status-suggest infotranslating the syntax code on the left into color instead of showing literal tags. - Hardened all command suggestion handlers against empty or null arguments.
## [7.1] - 2026-09-06
### Added
### Changed
### Fixed
### Added
- Status Suggestion System**:
/status-suggest <format>: Allows players to submit custom status suggestions directly in-game./status-suggest info: Provides guidelines, submission limits, syntax examples, and live preview rendering.- Bracket requirement enforcement (must start with
[and end with]), configurable inconfig.yml. - Configurable minimum/maximum length constraints (excluding color/formatting tags) and submission throttling per player.
- Interactive admin review tools:
/status-admin requests listfeaturing interactive MiniMessage click actions ([✔ Accept],[✖ Deny])./status-admin requests accept <id> <name>: Automatically injects accepted status intostatus-options.yml, assigns it to the submitter, and notifies them./status-admin requests deny <id> <reason>: Rejects the submission with an admin-specified explanation.- Offline player notification delivery upon reconnection for approved or rejected requests.
- Persistent data storage for suggestion tracking in
status-requests.yml. - Internal Testing & Quality Assurance**:
- Configured JUnit 5 (
junit-jupiter) in Gradle build script. - Added unit test suite (
ColorUtilTest) validating MiniMessage gradients, Bukkit legacy hex format (&x&r&r...), bracket detection, and suggestion lifecycle records. - Permission Declarations**:
- Added explicit permission trees to
paper-plugin.yml(statusplugin.admin,statusplugin.reload,statusplugin.mod).
### Changed
- Platform & Toolchain Migration**:
- Updated target Paper API to
26.2.build.+withapi-version: '26.2'. - Configured Gradle Java toolchain for Java 25.
- Enabled compiler warnings (
-Xlint:all,-Xlint:-processing) and resource filtering forpaper-plugin.yml. - Scoreboard Team & Sorting Management**:
- Overhauled team management in
TabListManagerandNametagManagerto prevent team collision and scoreboard pollution. - Added startup and shutdown cleanup routines targeting stale
sp_andsp_sort_scoreboard teams. - Enforced thread-safe operations for scoreboard modifications and tab list header/footer updates.
- Color & Placeholder Utilities**:
- Added support for Bukkit legacy hex syntax (
&x&6&5&F&F&6&4), standard hex (&#rrggbb), and MiniMessage tags. - Hardened
PlaceholderUtilagainst asynchronous execution with main-thread synchronization dispatch. - Added HTTP resource disposal (
OkHttpClientconnection pool & dispatcher cleanup) inVersionChecker.shutdown().
### Fixed
- Fixed integer overflow potential with rotating tab list index (
rotatingIndex.get() & Integer.MAX_VALUE). - Fixed duplicate read timeout initialization in
VersionChecker. - Fixed tab list list-name async invocation warning by checking
Bukkit.isPrimaryThread().
[7.0.10] StatusPlugin 7.0.10
by Markap on Oct 15, 2026
Download
Bump version to v7.0.10 and migrate to Paper 26.x
[7.0.9] StatusPlugin 7.0.9
by Markap on Oct 15, 2026
Download
Status-Based Name Coloring: Players can now have their names colored in both Chat and the Tab List based on their active status.
[7.0.8] StatusPlugin 7.0.8
by Markap on Oct 15, 2026
Download
Updated TabListManager.java to filter out players with vanished metadata from:
%online% placeholder calculation.
%overworld%, %nether%, %end% placeholders.
%online% placeholder calculation.
%overworld%, %nether%, %end% placeholders.
[7.0.7] StatusPlugin 7.0.7
by Markap on Oct 15, 2026
Download
feat: Modular chat colors
under chat formatting:
# Modular chat colors per status
status-colors:
enabled: true
# <StatusID>: <Color/Format>
colors:
ADMIN: "<red>"
under chat formatting:
# Modular chat colors per status
status-colors:
enabled: true
# <StatusID>: <Color/Format>
colors:
ADMIN: "<red>"
- > backup your old config!
[7.0.5] StatusPlugin 7.0.5
by Markap on Oct 15, 2026
Download
Minor changes!
[7.0.3] StatusPlugin 7.0.3
by Markap on Oct 15, 2026
Download
minor changes and version bump
[7.0.2] StatusPlugin 7.0.2
by Markap on Oct 15, 2026
Download
Added extended PlaceHolder API support!
[7.0.1] StatusPlugin 7.0.1
by Markap on Oct 15, 2026
Download
# StatusPlugin
### NEW VERSION (SOME FEATURES THAT EXISTED BEFORE MAY BE DELETED IN THIS VERSION). THIS VERSION IS MORE STABLE - VERSION 6.x IS DEPRECATED! Upgrading from v6 to v7 will make your current config unusable!
   
</div>
## ✨ Features
- Advanced Formatting**: Full MiniMessage support (gradients, hex colors, hover events) for chat, tablist, and nametags..
- Status System**: Create custom statuses (Admin, VIP, etc.) with unique prefixes.
- Tab List Control**:
- Animated headers/footers.
- Rotating Messages**: Add scrolling lines with
<rotating>. - Sorting**: Sort players by rank (Owner > Admin > Member > AFK > NO STATUS).
- Stats**: Display deaths, country, TPS, Ping ... .
- Country Display**: Automatically show player flags/countries in tab/chat (GeoIP).
- Death Tracking**: count and display player deaths with custom formatting
[☠ 5]. - Integrations**:
- PlaceholderAPI**: Full support for placeholders.
- LibertyBans**: Custom mute/ban notification styling.
- TAB**: seamless compatibility if you prefer using TAB plugin.
- Use of Paper's modern chat system for maximum compatibility with other plugins.**
## 📦 Installation
1. Download the latest JAR.
2. Drop it into your server's
plugins folder.3. Restart the server.
4. Edit
plugins/StatusPlugin/config.yml to your liking.## 🛠️ Commands & Permissions
| Command | Permission | Description |
| :--- | :--- | :--- |
|
/status | statusplugin.command.status | Open the status selection GUI ||
/status-clear | statusplugin.command.clear | Reset your status ||
/status-preview | statusplugin.command.preview | Preview how you look in chat ||
/status-admin | statusplugin.admin | Admin management commands |
[6.1.0] StatusPlugin 6.1.0
by Markap on Oct 15, 2026
Download
Update StatusPlugin to version 6.1.0
- Incremented version number in pom.xml and dependency-reduced-pom.xml to 6.1.0.
- Introduced StatusNametagManager for enhanced player nametag management.
- Added configuration options for nametag status display and message sanitization.
- Removed scoreboard-based sorting in favor of the new nametag system.
- Updated config.yml to reflect new settings and version changes.
[6.0.0] StatusPlugin 6.0.0
by Markap on Oct 15, 2026
Download
Update StatusPlugin to version 6.0.0
- Incremented version number in pom.xml and dependency-reduced-pom.xml to 6.0.0.
- Implemented automatic configuration updates to preserve user settings and create backups during upgrades.
- Fixed TPS not showing on Paper
- Improved version checking logic in ModrinthVersionChecker for better error handling and fallback mechanisms.
- Refactored code to streamline player mute checks and integrate with LibertyBans for enhanced player management.
- With this version I changed a lot of code - if there are any erros please report them to me - notice: onl ysupport for paper and paper forks are provided.**
[5.9] StatusPlugin 5.9
by Markap on Oct 15, 2026
Download
Add LibertyBans integration to StatusPlugin
- Introduced support for LibertyBans to manage player mute statuses within the plugin.
- Implemented mute checking in the chat event handler to prevent muted players from sending messages.
- Enhanced player notifications for mute status, including reason and duration, with configurable messages in language.yml.
- Updated plugin.yml to reflect the new soft dependency on LibertyBans and changed load order to POSTWORLD.
[5.8] StatusPlugin 5.8
by Markap on Oct 15, 2026
Download
# StatusPlugin - Changelog
### Added
### 🔧 Changed
### Added
- Tab List Sorting by Status**: Players are now automatically sorted in the tab list based on their status
- ADMIN** status players appear at the top
- MOD** status players appear second
- Regular status players (RICH, BAMBUS, CHERRY, etc.) are sorted alphabetically by status name, then by player name
- AFK** and **CAM** status players appear at the bottom
- New configuration option:
tab-list-sort-by-status: truein config.yml - Set to
falseto disable status-based sorting and use default Minecraft sorting - Enabled by default for improved player organization
### 🔧 Changed
- Implemented Minecraft's native **scoreboard team system** for tab list sorting
- Uses client-side team sorting for reliable and consistent ordering
- Teams are automatically managed based on player status
- No performance impact on server operations
[5.7] StatusPlugin 5.7
by Markap on Oct 15, 2026
Download
Implement MOD status functionality in StatusPlugin
- Added permission checks to restrict the use of the MOD status to players with appropriate permissions.
- Updated command handling to provide feedback when players without the necessary permissions attempt to use MOD status.
- Enhanced auto-complete functionality for status options to include MOD status.
[5.6] StatusPlugin 5.6
by Markap on Oct 15, 2026
Download
Enhance block tracking in StatusPlugin
- Added functionality to track total blocks broken, including methods for retrieval and formatting.
- Updated StatusPlaceholder to include new placeholders for total blocks broken in tab list and chat.
[5.5] StatusPlugin 5.5
by Markap on Oct 15, 2026
Download
Enhance server statistics tracking in StatusPlugin
- Added functionality to track total blocks placed and total player deaths, with corresponding methods for retrieval and formatting.
- Introduced a new configuration file for persistent server-wide statistics, ensuring data is saved and loaded correctly.
- Updated tab list and footer formatting to include new placeholders for total blocks and deaths, as well as a performance label.
- Implemented a rotating line feature in the tab list for dynamic display of performance metrics.
[5.4] StatusPlugin 5.4
by Markap on Oct 15, 2026
Download
Added optional custom tab header/footer support with new tablist.yml template and custom-tablist-enabled toggle.
[5.3] StatusPlugin 5.3
by Markap on Oct 15, 2026
Download
Hotfix +
>> ADDED ADMIN STATUS
>> ADDED ADMIN STATUS
- Implemented permission checks to restrict the use of the ADMIN status to players with appropriate permissions.
- Updated chat and tab list formatting to visually distinguish players using the ADMIN status.
- Improved command handling for status setting, including validation for target players.
- Added new status options in status-options.yml for better customization.
[5.2] StatusPlugin 5.2
by Markap on Oct 15, 2026
Download
Implement player death tracking feature in StatusPlugin
- Added functionality to track player deaths, including commands for viewing and modifying death counts.
- Introduced a new configuration file for storing player death data and updated existing methods to handle death tracking.
- Enhanced chat and tab list formatting to display player death counts.
- Updated command handling to include subcommands for managing player deaths.
- Increment death count on player death events and save changes to the configuration file.
[5.1] StatusPlugin 5.1
by Markap on Oct 15, 2026
Download
# StatusPlugin Version 5.1
### ✨ **NEW: Automatic Country Detection**
I've added an exciting new feature that automatically detects where players are from based on their ip location! This adds a personal touch to your server by showing each player's country.
#### **What's New:**
#### **How It Works**
#### 📱 **What Players Will See:**
### **For Server Admins:**
The country feature is **disabled by default** for **privacy** reasons. To enable it:
1. Open your
2. Find the "Country Location Feature" section
3. Change
4. Restart your server
New PlaceholderAPI placeholders are now available:
#### **Technical Details:**
### ✨ **NEW: Automatic Country Detection**
I've added an exciting new feature that automatically detects where players are from based on their ip location! This adds a personal touch to your server by showing each player's country.
#### **What's New:**
- When players join, the plugin automatically detects their country
- Country Codes in Chat & Tab
- Country data is saved so we don't need to look it up every time
- Other plugins can now display country information
#### **How It Works**
- When a player joins for the first time, we detect their country
- Only country information is stored, no personal details
#### 📱 **What Players Will See:**
- In Chat:**
- Before:
[VIP] <Steve> Hello everyone! - Now:
[VIP] <Steve> CA Hello everyone!
- In Tab List:**
- Before:
VIP Steve - Now:
VIP Steve CA
- Note**: You can customize how and where the country codes are displayed - also the full country name can be displayed! You can displayed them for example in other colors, in brackets or not, before the name, after the name ... (and so on)!
### **For Server Admins:**
The country feature is **disabled by default** for **privacy** reasons. To enable it:
1. Open your
config.yml file2. Find the "Country Location Feature" section
3. Change
country-location-enabled: false to country-location-enabled: true4. Restart your server
New PlaceholderAPI placeholders are now available:
%statusplugin_country%- Full country name (e.g., "Canada", "United States")%statusplugin_countrycode%- Country code (e.g., "CA", "US", "DE")%statusplugin_status%- Player's current status (unchanged)
#### **Technical Details:**
- Uses geolocation services (ip-api.com with api.iplocation.net backup)
- Cached data prevents repeated API calls
[5.0] StatusPlugin 5.0
by Markap on Oct 15, 2026
Download

Regenerate config.yml!
- Enhanced version checking messages - including a prefix for better readability
- Partly DiscordSRV support - may not work 100% of the time
- Added logging for DiscordSRV detection during plugin initialization.
Regenerate config.yml!
[4.9] StatusPlugin 4.9
by Markap on Oct 15, 2026
Download
- Changed a small thing in the Config.yml.
- > So if necessary, have it regenerated!
- Added integration with the tab plugin "TAB" from NEZNAMY!
- > If the tab plugin is installed (backend server), the status plugin should recognize this and then display the status in the tab list!
[4.8] StatusPlugin 4.8
by Markap on Oct 15, 2026
Download
- Added a new config to make it possible that only admisn can chaneg a status
- Added a version checker
[4.7] StatusPlugin 4.7
by Markap on Oct 15, 2026
Download
- Configuration options in
config.ymlto enable or disable tab and chat styling. - Conditional checks in
StatusPluginclass to apply tab and chat styling based on the configuration options. - Placeholder registration in
StatusPluginclass with logging. StatusPlaceholderclass to handle custom placeholders with color code translation.- Added the placeholder (PAPI Support)
%statusplugin_status%!
[4.6] StatusPlugin | like in CraftAttack 4.6
by Markap on Oct 15, 2026
Download

Minecraft 1.21 support has now been added. If there are problems with older versions, please use version 4.5 or report them on Discord!
New configuration added: chat-format-no-status: “<$$PLAYER$$> ” -> This should also fix the problem with a space (in the chat) before the name!
A status-options.yml to change the statuses in another file. -> More convenient for the user
Minecraft 1.21 support has now been added. If there are problems with older versions, please use version 4.5 or report them on Discord!
New configuration added: chat-format-no-status: “<$$PLAYER$$> ” -> This should also fix the problem with a space (in the chat) before the name!
A status-options.yml to change the statuses in another file. -> More convenient for the user