Patch Notes - Version [1.3.3]
New: Hover Stats Feature:
![]()
- Hover over player names in chat to see a detailed stats tooltip
- Displays key player statistics:
- Money (with abbreviated formatting: 25.70K)
- Kills
- Playtime (formatted as 4h 8m)
- Deaths
- Shards/Crystals
- Click player names to open their stats GUI (/stats <player>)
- Fully customizablein chat.yml:
- Enable/disable individual stats
- Change icons, labels, colors
- Customize format and layout
- Configure click action (run command, suggest command, or open URL)
- Uses Paper's Adventure API (no ProtocolLib required)
Bug Fixes & Improvements
Stats Synchronization
- Fixed: Deaths and kills showing different values across scoreboard, tooltip, and stats GUI
- Fixed: Stats features were pulling from Bukkit statistics instead of PoSMP database
- Now: All stats displays (scoreboard, tooltip, stats GUI) pull from the same database
- Result: Perfect synchronization across all features
Default Settings
- Hover stats: Enabled by default
- Click action: Opens stats GUI
- All stats: Enabled and matching scoreboard design
- Legacy hover mode: Available by setting enabled: false
Compatibility
- Minecraft Versions: 1.19.x - 1.21.x
- Server Types: Paper (recommended), Spigot, Purpur
- Dependencies: Vault (required), PlaceholderAPI (optional)
What's New in v1.3.2:
- Hidden Scoreboard Numbers: Integrated NumberFormat.blank() solution from reference code
- Clean Scoreboard Appearance: No more red numbers on the right side of scoreboard entries
- Paper API Integration: Uses modern Paper API for optimal performance
- Backward Compatibility: Graceful fallback for older Paper versions
- Professional Look: Scoreboard now matches modern server standards
PoSMP Plugin - Patch Notes v1.3.1
Major Features & Improvements
Enhanced Scoreboard System
Command System Overhaul
- Gradient Support: Added full gradient rendering support for scoreboard titles
- Supports both MiniMessage format: <gradient:#start:#end>text</gradient>
- Supports legacy format with proper color interpolation
- Fixed gradient processing order to prevent color code conflicts
- New PoSMP default scoreboard name is in gradient blue
Critical Bug Fixes:
- Prefixed Essentials Commands: Complete migration to conflict-free command system
- All POSMP Essentials commands now use /p prefix: /pgamemode, /pfly, /pgod, etc.
- Eliminates conflicts with actual Essentials plugins if you are using it on your server alongside PoSMP
- 46+ prefixed commands registered and functional
- Enhanced Tab Completion: Fixed missing subcommands in /posmp tab completion
- Added features, language, version, commands, fixcommands
- Improved command discovery and usability
plugin.yml Major Updates
Technical Improvements
- Removed Conflicting Commands: All original Essentials-like commands removed
- Added Prefixed Commands: 46+ new prefixed commands added
- pgamemode, pfly, pgod, ptp, pspawn, psell, etc.
- Complete descriptions, usage, permissions, and aliases
- Enhanced Dependencies: Added softdepend entries for better plugin loading order
- Essentials, EssentialsX, CMI, zEssentials
Performance Optimizations
Code Quality
- Reduced Logging Overhead: Removed debug spam from scoreboard processing
- Efficient Command Handling: Streamlined command registration without delegation overhead
- Memory Management: Improved GUI event handling and cleanup
User Experience Improvements
- Error Handling: Enhanced null checks and exception handling throughout
- Documentation: Comprehensive inline documentation for new systems
- Maintainability: Cleaner separation of concerns between features
Command Usability
Migration Notes
- Conflict-Free Commands: No more command conflicts with other plugins
- Intuitive Prefixes: Easy-to-remember /p prefix for PoSMP Essentials
- Better Tab Completion: Improved command discovery and autocomplete
For Server Administrators
Coming Soon
- Command Changes: Update any scripts/documentation to use new prefixed commands
- /gamemode → /pgamemode (for PoSMP Essentials)
- /fly → /pfly (for PoSMP Essentials)
- Original Essentials commands remain unchanged
- Configuration: Review scoreboard.yml for new ping position options
- Permissions: Update permission configurations for new prefixed commands
- Full Language System: Complete multi-language support activation
- Enhanced GUI Localization: All GUI elements in multiple languages
Version: 1.3.1
Release Date: September 25, 2025
Compatibility: Minecraft 1.19.x - 1.21.x
Dependencies: Vault (required), PlaceholderAPI (optional), LuckPerms (optional)
Major Features
Advanced Features Management System
- New /posmp features command opens a GUI to toggle features on/off without server restart
- Features can be enabled/disabled in real-time with automatic command registration/unregistration
- Changes automatically saved to configuration files
- Professional interface with visual status indicators
Complete Data Persistence System
- Marriage data now persists between server restarts
- Player statistics properly save and load
- Support for multiple database backends (YAML, MySQL, SQLite, PostgreSQL)
- All progress is preserved across server restarts
Major Improvements
Performance Optimizations
- RTP system is 60% faster with better location finding
- Reduced particle spam from marriage system (20 particles down to 3)
- Eliminated chunk loading lag during teleportation
- Memory usage reduced by 25% for particle-related operations
User Experience Enhancements
- Enhanced /sethome command with better subcommands and tab completion
- Team join notifications properly notify all team members
- Improved tablist display with proper color codes and player names
- Marriage particles moved above players to avoid blocking view
- Real-time playtime updates on scoreboard
Chat System Overhaul
- Smart LuckPerms integration that auto-detects plugin availability
- Cleaner chat formatting without redundant brackets or symbols
- Improved team prefix display logic
- Better fallback handling when permission plugins aren't available
Critical Bug Fixes
Data Loss Prevention
- Fixed marriages disappearing after server restart
- Fixed player statistics resetting on server restart
- Fixed manual config changes being overwritten on restart
- Improved data validation and error handling
Economy Integration
- Fixed economy features failing when LiteEco loads after PoSMP
- Added delayed retry system for economy plugin detection
- All economy features now work properly regardless of plugin load order
Performance Fixes
- Fixed RTP "found no safe space" error caused by over-aggressive optimizations
- Fixed scoreboard flickering and display issues
- Fixed tablist color code rendering problems
- Fixed /near command not detecting nearby players properly
Display & Formatting
- Fixed balance display showing "1000K" instead of "999K"
- Fixed raw color codes showing instead of formatted colors
- Fixed placeholder text appearing in tab headers/footers
- Fixed scoreboard red numbers still showing when disabled
Command & Feature Fixes
Enhanced Commands
- /sethome now supports multiple formats: /sethome, /sethome <name>, /sethome <number>
- Fixed /sethome help showing usage instead of setting default home
- Improved tab completion with better suggestions
- Fixed command unregistration for disabled features
Team System
- Fixed missing join notifications for team members
- Removed duplicate invite messages
- Better handling of team join requests and invitations
Configuration
- Manual config changes are now properly preserved
- Features can be disabled in config and stay disabled after restart
- Better error handling for invalid configurations
- Automatic migration from old configuration formats
Technical Improvements
Database Support
- Multi-backend storage system with connection pooling
- Async operations prevent server blocking
- Automatic data migration from old formats
- Graceful fallback handling for connection failures
Advanced Configuration
- Over 200 new configuration options
- Backward compatibility with existing configs
- Enhanced error handling and validation
- Hot reload capabilities for most settings
Hi all,
Two updates within a day? Yes, you got that right!
This update enhances on 1.2.0 update by allowing you to disable posmp feature commands to allow the use of other plugins.
How it works:
- Lets say you would like to disable the built-in /sell command, to use another plugin like zSell. The process will involve:
- 1) disabling posmp sellgui command in it's config, setting all to false where applicable.
![]()
- Turn all commands to 'false' to disable:
- Once that is complete, use /posmp reload to reload the config and save, then restart the server. Posmp will then allow other plugins to have priority in registering their commands.
![]()
Overview
The Crates system provides a complete DonutSMP-style crate experience with physical key items, magical effects, and customizable rewards. Players can create crates on storage blocks, give out keys, and enjoy an immersive reward-claiming experience.
Physical Key System
- Material: Tripwire Hook (looks like an actual key!)
- Appearance: Golden glowing keys with enchantment effects
- Display: [Crate Name] Key (e.g., "Sand Key", "Diamond Key")
- Stackable: Multiple keys of the same type stack together
- Persistent Data: Each key is tagged with its specific crate type
- Inventory Integration: Keys appear as physical items players can see and manage
Key Crate Creation and Key Crate Editor
/crates create <name> whilst looking at a storage block (chest, barrel, shulker, etc)
/crates editor <name>
Key Management
/crates keygive <player> <crate> <amount> # Give keys to specific player
/crates keygiveall <crate> <amount> # Give keys to all online players
/crates removekey <player> <crate> <amount> # Remove keys from player
/crates resetkey <crate> <player> # Reset player's keys to 0
Using Crates
- Right-click any crate block
- Magical effects spawn (portal particles, enchantment sparkles)
- Crate GUI opens showing available rewards
- Click an item to select it (requires physical key)
- Confirmation GUI appears to confirm your choice
- Key consumed automatically from inventory
- Reward given with celebration effects!
Magical Effects & Sounds
Visual Effects
- Crate Opening: Portal particles around block + enchantment sparkles around player
- Reward Claiming: Golden villager particles + firework sparks + magical enchantment effects
- Block Protection: Crates become protected from breaking/modification
Audio Experience
- Crate Opening: Chest open sound + enchantment table sound
- Item Selection: UI button click sound
- No Keys: Villager "no" sound with error message
- Reward Claim: Experience orb pickup sound for successful claims
Smart Features
Block Type Restrictions
- Only works on storage blocks: chests, barrels, shulker boxes, furnaces, hoppers, etc.
- Clear error messages when trying to use invalid blocks
- Prevents confusion from creating crates on grass, vines, or other non-storage blocks
Inventory Management
- Overflow Protection: If inventory is full, keys drop at player's feet
- Automatic Consumption: Keys are automatically removed when claiming rewards
- Visual Feedback: Players can see exactly how many keys they have
DonutSMP Similarities
- Physical key items instead of just data tracking
- Magical particle effects and immersive sounds
- Confirmation system to prevent accidental claims
- Customizable rewards through easy-to-use GUI editor
- Protected crate blocks that can't be broken
- Overflow handling for full inventories
- Admin management tools for server operators
Technical Features
- Persistent Data: Keys use NBT data to identify crate types
- Cross-Server Compatible: Works on Paper, Spigot, and other server implementations
- Performance Optimized: Non-blocking particle effects and sound handling
- Configurable: Fully customizable through YAML configuration files
- Debug System: Comprehensive logging for troubleshooting
Perfect for servers wanting the authentic DonutSMP crate experience with enhanced integration into the PoSMP ecosystem!
PoSMP 1.0.5 – Patch Notes
Features
PlaceholderAPI integration: Stabilized for TAB and scoreboards with working stats placeholders (kills, deaths, playtime) and crystals placeholder
New placeholders for use with PlaceholderAPI-enabled plugins like TAB:
- %posmp_stats_kills%
- %posmp_stats_deaths%
- %posmp_stats_playtime% (formatted)
- %posmp_stats_playtime_raw% (seconds)
- %posmp_crystal_amount%
- %posmp_team_name%
Placeholder optimization: Consolidated placeholder logic into single expansion (identifier "posmp"). Removed legacy duplicate team expansion to avoid collisions
Stats GUI improvements: Playtime now computed from tracked total + current session with no PAPI dependency
Crystals enhancements:
- Placeholder now reads CrystalFeature store by UUID and falls back to PlayerData to avoid showing 0
- Configuration improved: unlimited cap with 0 or -1 in features/crystal.yml
- settings.maximum-balance: 0 or -1 means unlimited (previously -1), default set to 0
- Message placeholders updated to %posmp_crystal_amount%
Bug Fixes
TAB values blank: Resolved by removing duplicate PlaceholderAPI expansion with same identifier and returning safe defaults when stats/crystal features are unavailable
Stats placeholders: Switched to direct method calls (no reflection) and ensured non-empty outputs
Playtime in GUI: Fixed to include current session and use internal tracking
Crystal placeholder stuck at 0: Now reads persisted store first with PlayerData fallback
Config Updates
features/crystal.yml now defaults to unlimited max balance using 0
Build/Packaging
Version bumped to 1.0.5
Commands to Reload
/papi reload /tab reload (or restart) /posmp reload (optional after deploying JAR)
PoSMP 1.0.4 – Patch Notes
Features
Team nametag system: New second line under player names with instant, smooth tracking
- Default format: [Team: TeamName] with team color
- Instant follow via PlayerMove/Teleport/WorldChange with lightweight periodic refresh
- Configurable in features/team.yml with options for enabled, y-offset, instant tracking, update period, and format
Team Levels page: Team Info GUI Experience Bottle opens levels page showing current level, XP, next threshold, and benefits per level from config
Join request GUI: Clicking a team in Team List sends request and opens Accept/Deny GUI for owner. /team join <team> triggers same GUI flow
RTP multiverse support: features/rtp.yml multiverse section to pick overworld/nether/end/lobby world names. RTP respects configured world names instead of first world with matching environment
Team enhancements:
- Team list shows team level in item lore
- Team sidebar toggleable (default OFF) via gui.sidebar: false
- Team color selection GUI and back button fixed
- Kick GUI lists teammate heads reliably with UUID-based lookup
Chat improvements: Resolved raw %luckperms_prefix% by using PlaceholderAPI when present with fallback resolver for common placeholders when PlaceholderAPI is absent
Bug Fixes
AFK disable crash on shutdown: Avoid scheduling tasks while plugin disables
Duplicate messages eliminated:
- Team chat toggle now reports only once
- Kick duplicate notice removed (one source of truth from TeamFeature)
Display cleanup: Kick/leave immediately clears second-line nametag and below-name artifacts
Above-head display: Removed old label usage and replaced with armor-stand nametag for fully custom second line under player name
Config Updates
features/team.yml overhauled:
- New gui.nametag block for second line settings
- display.tab-format and display.chat-format simplified
- Benefits/levels retained with team list showing level in GUI lore
features/rtp.yml: Added multiverse world name mapping
