PlayerFlags | NEW ERA OF GEO PLUGINS v0.2.3-STABLEVERSION

Player heads, country flags, and device icons for TAB, chat, and titles.
PlayerFlags v0.2.3 Changelog

  • Updated plugin version to 0.2.3.
  • Fixed country detection fallback incorrectly showing Slovakia for unresolved players.
  • Private, LAN, proxy and failed geo lookups now return Unknown instead of a fixed country.
  • Changed the default country fallback from
    Code:
    SK
    to an empty value.
  • Improved resource pack flag rendering for country placeholders.
  • Improved resource pack icon rendering for device/platform placeholders.
  • Country and device placeholders now correctly use texture pack glyphs when
    Code:
    icon_render_mode: "TEXTURE_PACK"[/
      CODE] is enabled.
      [*]Fixed cases where country/device icons attempted to render as MineHead/MineSkin heads instead of texture pack
      icons.
      [*]Player head placeholders now keep using MineHead/player-head syntax when head rendering is enabled.
      [*]Updated MineSkin user-agent to [CODE]PlayerFlags/0.2.3
    .
  • Rebuilt and verified the plugin as
    Code:
    PlayerFlags-0.2.3.jar
    .
PlayerFlags v0.2.2 Changelog

This update focuses on making the visual system stable and usable across TAB, chat, titles, and BungeeCord setups.



Added

  • Added full texture-pack glyph rendering for country flags and device icons.
  • Added support for showing country and device icons in join titles.
  • Added hybrid rendering support:
    • Player head stays as a MineHead or player-head object.
    • Country flag and device are rendered as texture-pack icons.
  • Added required resource pack support.
  • Added configurable kick behavior when the resource pack is declined or fails.
  • Added BungeeCord-aware resource pack delivery.
  • Added Spigot fallback limiting, so the resource pack is only sent on configured servers.
  • Added compatibility.icon_render_mode.
  • Added resource_pack.server_name.
  • Added resource_pack.fallback_servers.
  • Added compatibility.tab_head_syntax.
  • Added MineSkin request throttling to avoid API rate limits.



Changed

  • TAB placeholders now show proper icons instead of rendering country and device as extra player heads.
  • %playerflags_tab_country_head% now outputs a texture-pack flag icon by default.
  • %playerflags_tab_device_head% now outputs a texture-pack device icon by default.
  • Chat country and device output now uses the same texture-pack icons.
  • Join title %country% and %device% now render texture-pack icons when icon mode is enabled.
  • Resource pack is now required by default.
  • Resource pack kick grace period is now 30000ms by default.
  • MineSkin country and device auto-generation is skipped when texture-pack icon mode is active.
  • Resource pack fallback is now restricted to configured servers only.
  • BungeeCord and Spigot resource pack behavior now match each other more reliably.



Fixed

  • Fixed TAB showing three heads instead of player head + country flag + device icon.
  • Fixed country and device MineHead icons being too small or hard to read.
  • Fixed chat and title country/device display not matching TAB behavior.
  • Fixed resource pack fallback potentially sending on the wrong backend server.
  • Fixed MineSkin HTTP 429 rate-limit failures by adding safer throttling and retry delays.
  • Fixed MineSkin signed texture handling for head-based fallback modes.
  • Fixed country and device fallback behavior when MineSkin cache is missing.
  • Fixed resource-pack icon rendering not being active on modern MineHead-capable servers.



BungeeCord / Proxy

BungeeCord resource pack delivery now works with configured trigger servers.

Default trigger server:


Code:
trigger_on:
  - "auth"

Spigot fallback is also restricted by default:

Code:
resource_pack:
  server_name: "auth"
  fallback_servers:
    - "auth"

This means the resource pack is only sent on the configured server, not every server in the network.



Default Rendering Setup

Recommended TAB layout:

%playerflags_player_head% %playerflags_tab_country_head% %playerflags_tab_device_head% %luckperms-prefix%

Expected result:

[player head] [country flag icon] [device icon] [prefix]



Notes

  • The texture pack is required for country and device icons.
  • If resource_pack.kick.enabled is set to false, the pack becomes optional again.
  • MineSkin generation is no longer required for normal country and device icon rendering in the default v0.2.2 setup.
Temporarily disabled due to license key server updates and database updates.
This update focuses on fixing inconsistent resource pack behavior and configuration issues caused by misconfigured channels and broken YAML formatting.

✅ Fixed: Resource Pack sending “randomly” not working
  • Unified the plugin messaging channel between Bungee ↔ Spigot so the proxy packet always arrives correctly.
  • Improved the fallback system: if the proxy doesn’t send the pack in time, Spigot reliably sends it after the configured delay.
  • Added cleaner session handling so players aren’t spammed with pack prompts when load_per_server is enabled.
✅ Fixed: LOADED status not being tracked properly
  • The Spigot → Bungee “ResourcePackLoaded” ping now goes through the correct channel, so Bungee can remember loaded players and stop re-sending.
✅ Fixed: YAML / config values behaving incorrectly
  • Cleaned up broken YAML formatting that could turn booleans into invalid strings (causing settings like proxy_enabled to act wrong).
  • Config structure is now safer and more predictable.
🔧 Extra stability improvements
  • Better cleanup on quit (prevents leftover tasks / delayed kicks running after the player is gone).
  • More consistent behavior across servers with proxy mode enabled.
If you still ever see a failed pack load after this update, it’s almost always a client-side setting or a non-direct resource pack link — Dropbox dl=1 is recommended.


🧠 Core Improvements

  • ✅ Full 1.12 – 1.21.9+ compatibility
    Updated API calls and HEX-color fallback logic for all supported versions.
  • ⚙️ Optimized configuration loading
    ConfigManager now includes every getter method used across all services — no more missing-field errors.
  • 🧩 Improved PlaceholderAPI handling
    Re-registers dynamically on reload and supports both %playerflags_*% and short %country% / %device% aliases.
  • 🔒 Soft licence check system
    Added non-blocking validation layer — if the remote endpoint fails, the plugin continues running smoothly.


💬 Join Experience Enhancements

  • 🎵 Customizable join sounds & titles now fully synchronized with join messages.
  • 🖋️ Added title fade timings (fadein, stay, fadeout) to all title sections in config.
  • ✍️ Improved symbol filter feedback — sends a small title/subtitle and sound when a blocked character is used.


🌍 Geo & Platform Features

  • 🗺️ Added country resolver caching for faster ISO lookups.
  • 💻 Enhanced platform detection with Floodgate API (if available).
  • 🔡 Added fallback glyph placeholders for unknown countries/devices (&fき).


🔗 BungeeCord Module

  • 🌐 Added resource pack forwarding system (bungee-resource.yml) with per-session logic.
  • 🕐 Added send_delay_ms and only_once_per_session for fine-grained control.
  • ⚡ Added graceful fallback to Spigot-side pack delivery if no proxy message arrives in time.
  • 🧾 Improved SHA-1 validation and logging when using Bungee pack URLs.


💾 Configuration Changes

  • 🔧 Reworked and unified all settings sections:
    • settings: (licence, database, general)
    • title: (join, chatfilter, resource_pack)
    • sounds: (join, chatfilter, resource_pack)
    • restrictions:, platform:, countries:, resource_pack:
  • 🕐 Added new key:

    resource_pack.kick.grace_ms: 15000
    → Defines how long the plugin waits before kicking players who decline or fail to load the pack.


🧱 Internal / Developer Notes

  • Cleaned up class structure across ConfigManager, ResourcePackManager, and LicenceKeyManager.
  • Bungee/Spigot message channel standardized to PlayerFlags.
  • Updated Maven build with shaded org.json and modern compiler (Java 17).
  • Renamed all plugin.yml permissions to match the new namespace (playerflags.*).


🧰 New Commands & Permissions

CommandDescriptionPermission
/playerflagsreloadReload plugin and placeholdersplayerflags.reload
(alias) /geoaccessreloadLegacy alias for migration usersplayerflags.reload

PermissionDescription
playerflags.showSee join messages even if restricted
playerflags.bypass.symbolsBypass forbidden symbol filter



🌟 Quality-of-Life Fixes

  • Fixed rare issue where resource pack prompt triggered twice on slow joins.
  • Removed false “Resource pack declined” kicks on modern Paper builds.
  • Reduced console spam in debug mode.
  • Better handling for missing or empty bungee-resource.yml.


🏁 Summary

PlayerFlags v0.1.8 delivers a rock-solid, multi-version-safe, and visually polished experience.
Every setting in config.yml and bungee-resource.yml is documented and auto-restored on updates.
Date: 2025‑08‑15

🐞 Bug Fixes​

  • No more false kicks on resource pack load: added grace window after DECLINED/FAILED_DOWNLOAD; only kicks if no SUCCESSFULLY_LOADED arrives within a few seconds.
  • Fixed double channel registration crash (This registration already exists) by centralizing plugin‑message registration in the ResourcePack manager only.
  • Resolved NoClassDefFoundError by separating Spigot and Bungee config migrators (no Bungee classes on Spigot).
  • Made anvil rename filter version‑safe: handles servers where setRepairCost differs or is absent (reflection fallback).
  • Cleaned up join message duplicate sends in certain edge join flows.

✨ Improvements​

  • Config migrator preserves all comments and appends missing defaults as a patch at the end of files (Spigot + Bungee).
  • Robust Bungee→Spigot resource pack forwarding with per‑session control and sensible delays.
  • Safer Floodgate detection (reflection), with explicit device type mapping and “JAVA” fallback.
  • Consistent HEX color handling (auto‑detect 1.16+).
  • Extensive internal logging under settings.debug: true.

🔧 Developer Notes​

  • Java 8/11‑friendly code (no pattern‑matching instanceof); avoids toolchain surprises.
  • Placeholders re‑register on reload if PlaceholderAPI is present.
  • Clean separation of concerns: Spigot vs Bungee migrators; ResourcePack manager owns PM channels.
UPDATES:
✱ Discord server
✱ Plugin renamed from CountryPlayers to GeoAccess
✱ Added Licence key, for plugin safe.
✱ Remaked all classes,
✱ Add GeyserMC Support for devices
✱ Added Country, Device block restrictions to join server
✱ Added Tittles, Sounds
✱ New Texturepack
✱ New Photos on Market.
✱ New Pleaceholders
✱ New Permissions
✱ New config.yml and more...

Attachments

  • xd.png
    xd.png
    599.4 KB · Views: 15
Buy a license now
$7.67
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 10% commission.
3,493 Views
6 Purchases
7 Downloads
Mar 19, 2025 Published
May 17, 2026 Updated
Not yet rated
4.2 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Chat
  1. World
  1. Library
Game mode
  1. Factions
  1. Towny
  1. Hub & lobby
Game mode
  1. Factions
  1. Towny
  1. Hub & lobby
Game mode (legacy)
  1. Factions
  1. Towny
  1. Hub
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Velocity
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
Supported languages
  1. English
  1. Spanish
  1. Russian
Includes DRM
No
Source access (legacy)
Closed source & obfuscated
Creator
Owner
Recommended for you
New era of treasure chest plugins, titles, sounds, messages, permissions, addons, and more...
5.00 star(s) 8 ratings
18 purchases
BungeeSystem: Ban, Kick, Report, Mute and more! NEW ERA!
5.00 star(s) 2 ratings
4 purchases
5.00 star(s) 2 ratings
2 purchases
Best AI chat system in the minecraft comunity!
5.00 star(s) 1 ratings
2 purchases
This plugin is better that keepinventory...
Not yet rated
1 purchase
Share and earn
Refer this resource and earn a 10% commission.
3,493 Views
6 Purchases
7 Downloads
Mar 19, 2025 Published
May 17, 2026 Updated
Not yet rated
4.2 MB File size
Open source
  1. No
DRM-free
  1. No
Unobfuscated
  1. No
Type
  1. Chat
  1. World
  1. Library
Game mode
  1. Factions
  1. Towny
  1. Hub & lobby
Game mode
  1. Factions
  1. Towny
  1. Hub & lobby
Game mode (legacy)
  1. Factions
  1. Towny
  1. Hub
Supported software
  1. Bukkit
  1. Spigot
  1. Paper
  1. Bungee
  1. Velocity
  1. Purpur
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
  1. 1.20
  1. 1.19
  1. 1.18
  1. 1.17
  1. 1.16
  1. 1.15
  1. 1.14
  1. 1.13
  1. 1.12
Supported languages
  1. English
  1. Spanish
  1. Russian
Includes DRM
No
Source access (legacy)
Closed source & obfuscated
Creator
Owner
Recommended for you
New era of treasure chest plugins, titles, sounds, messages, permissions, addons, and more...
5.00 star(s) 8 ratings
18 purchases
BungeeSystem: Ban, Kick, Report, Mute and more! NEW ERA!
5.00 star(s) 2 ratings
4 purchases
5.00 star(s) 2 ratings
2 purchases
Best AI chat system in the minecraft comunity!
5.00 star(s) 1 ratings
2 purchases
This plugin is better that keepinventory...
Not yet rated
1 purchase
Top