Improve Performance & UX
Multi-line Job Descriptions
- Jobs now support beautiful multi-line descriptions that automatically expand in menus
- Enhanced readability with proper line breaks in job lore
Configuration Example:
Code (YAML):
# Single line (old method)
description
:
"Mine valuable ores and materials"
# Multi-line (new method)
description
:
-
"Extract valuable resources from"
-
"the depths of the earth!"
-
"Discover rare minerals and gems"
Configurable Job Status System
- Complete customization of job status display in config.yml
- Personalize colors, icons, and text for "Active" vs "Available" states
Configuration Example:
Code (YAML):
placeholders
:
# Action placeholders - customize how action information is displayed
action_type
:
# Default format for all action types
default
:
"<white>{value}"
# Specific formats per action type
EAT
:
"<red><bold>EAT"
BREAK
:
"<#b5b5b5><bold>BREAK"
KILL
:
"<dark_red><bold>KILL"
PLACE
:
"<#cbe8a5><bold>PLACE"
ENCHANT
:
"<purple><bold>ENCHANT"
BREW
:
"<yellow><bold>BREW"
CRAFT
:
"<blue><bold>CRAFT"
SMELT
:
"<orange><bold>SMELT"
BLOCK_INTERACT
:
"<cyan><bold>INTERACT"
ENTITY_INTERACT
:
"<pink><bold>INTERACT"
HARVEST
:
"<pink><bold>HARVEST"
action_target
:
"<white>{value}"
action_name
:
"<white>{value}"
action_display_name
:
"<white>{value}"
action_lore
:
"<gray>{value}"
action_xp_base
:
"<#abffb3>{value}"
action_xp
:
"<#abffb3>{value}"
action_xp_multiplier
:
"<gray>(<white>x{value}<gray>)"
action_money_base
:
"<#FFD700>{value}"
action_money
:
"<#FFD700>{value}"
action_money_multiplier
:
"<gray>(<white>x{value}<gray>)"
action_cooldown
:
"<gray>Cooldown: {value}s"
# Job status placeholders - customize how job status is displayed in menus
job_status:
joined
:
"<#abffb3>Active"
not_joined
:
"<#ff6b6b>Not Joined"
Persistent Player Statistics
- Stat persistence - players can see progress even after leaving jobs
Example: A player leaves the "Miner" job at level 25 with 50,000 XP. When viewing the jobs menu, they still see:
Code (YAML):
Level
: 25/100
(75.5
%)
XP
: 50,000
Status
: Not Joined
Batched Reward Processing
- New BatchedRewardManager for ultra-efficient reward distribution
- Configurable batching intervals for optimal performance
- Massive performance boost for high-activity servers
Configuration Example:
Code (YAML):
performance:
batching-xp
: 40
# XP batched every 40 ticks (2 seconds)
batching-money
: 60
# Money batched every 60 ticks (3 seconds)
batching-others
: 40
# Commands every 40 ticks (2 seconds)
User Experience Overhaul
Intuitive Controls
- Left-click: Open detailed job menu
- Right-click: Quick join/leave (goodbye Shift+click!)
- Accessible and natural for all players
Before vs After:
Code (YAML):
Old
: Shift+Left-click to join/leave jobs
New
: Right-click to join/leave jobs
Modern Menu Design
- Stunning hex color scheme with mint, gold, and emerald tones
- Professional Unicode symbols for better visual hierarchy
- Clean else: syntax for menu configurations
Menu Configuration Example:
Code (YAML):
job-item-format:
display-name
:
"<bold>{job_name}</bold>"
lore
:
-
"<gray>{job_description}"
- "<gray>├ Level
: <
#abffb3>{player_level}<gray>/<#abffb3>{job_max_level}"
- "<gray>├ XP
: <
#62de6e>{player_xp}"
-
"<gray>└ {progress_bar}"
# Configuration for players without the job
else:
lore
:
-
"<gray>{job_description}"
- "<gray>Status
:
{job_status
}
"
- "<
#FFD700>▶ Right-click to join"
glow
: true
Performance Revolution
Message System Optimization
- 60-80% reduction in color conversion processing time
- Ultra-fast pre-compiled pattern matching for common XP messages
- Advanced multi-level caching system for components, colors, and legacy conversions
Technical Details:
Code (YAML):
Before
: Every message converted from scratch
(slow
)
After
: Common patterns pre-compiled + 3-tier cache system
(ultra-fast
)
BossBar Engine Rewrite
- Eliminated all CancellationException logging spam
- Smooth timestamp-based cleanup system
- Zero-overhead XP progress notifications
Configuration System Enhancement
- Fixed critical reload issues with block protection settings
- All configuration changes apply instantly with /jobs admin reload
- No more server restarts required for config updates
Critical Fixes
Stability Improvements
- Fixed: Missing reload-failed language messages causing errors
- Enhanced: BossBar management with proper synchronization
Menu System Fixes
- Improved: Job placeholder system with {job_description_lines}` support
- Optimized: Menu configuration loading and validation
- Streamlined: Reward GUI and command processing
- Simplified: Navigation slots configuration
Technical Architecture
Code Quality Improvements
- Optimized action processing and caching mechanisms
Performance Metrics
- Message Processing: 60-80% faster color conversion
- Memory Usage: Reduced with efficient caching strategies and object pooling
- Server Load: Significantly decreased during high XP activity
- Error Rate: Nearly eliminated configuration-related errors
- Cache Hit Rate: Improved with multi-level caching system
Migration Guide
Optional Upgrades
- Update menu configs to use new else: syntax for cleaner organization
- Customize job status messages in config.yml
- Enable multi-line descriptions for better job presentation