File Details
neoessentials-1.0.2.3
- B
- Jan 6, 2026
- 1.23 MB
- 298
- 1.21.8+7
- NeoForge
File Name
neoessentials-1.0.2.3+build.694.jar
Supported Versions
- 1.21.8
- 1.21.7
- 1.21.6
- 1.21.5
- 1.21.4
- 1.21.3
- 1.21.2
- 1.21.1
Curse Maven Snippet
NeoEssentials v1.0.2.3 - Major Fixes & Quality Improvements
Build #698+ | January 6, 2026 | Minecraft 1.21.1 - 1.21.11 | NeoForge 21.1.179+ / 21.11.24-beta
๐ฏ What's New in Build #698
๐ ๏ธ Code Quality - ZERO Warnings! โจ
Final Polish Complete:
- โ Fixed StringBuffer โ StringBuilder (better performance)
- โ Fixed .length() > 0 โ !isEmpty() (cleaner code)
- โ Removed redundant @SuppressWarnings
- โ Fixed @Nullable annotations on non-null methods
- โ Simplified if statement logic
- โ Removed unused parameter warnings
Achievement Unlocked:
- ๐ ZERO compilation errors
- ๐ ZERO warnings
- ๐ 100% clean code
- ๐ Professional quality
๐ Debug Logging Confirmed
Verified: All debug logging properly controlled by config
Default: Clean production logs (debug OFF)
When Needed: Easy toggle in config file
๐ฏ What's New in Build #680+
๐ท๏ธ LuckPerms Placeholder System - FIXED! ๐
All LuckPerms placeholders now work correctly:
- โ
{luckperms_prefix}- Player's prefix from LuckPerms - โ
{luckperms_suffix}- Player's suffix from LuckPerms - โ
{luckperms_group}- Player's primary group - โ
{luckperms_primary_group}- Primary group (alias) - โ
{luckperms_displayname}- Full formatted name (prefix+name+suffix)
What was wrong:
- Placeholders were querying the internal permission system instead of LuckPerms API
- This caused them to return empty or incorrect values
What was fixed:
- Changed to properly query LuckPerms adapter through PermissionAPI
- Added comprehensive debug logging for troubleshooting
- Enhanced meta data inspection for weighted prefixes/suffixes
Usage Example:
{
"chat": {
"chat-format": "{luckperms_prefix}{neoessentials_name}{luckperms_suffix}: {MESSAGE}"
}
}
Result: [Admin] PlayerName [VIP]: Hello world!
๐ Debug Logging Cleanup - Clean Console! ๐งน
Before: 70+ lines of debug spam per chat message โ
After: Clean, quiet logs โ
What was removed:
- Chat formatting debug (40+ lines per message)
- Placeholder resolution logs (6 lines per placeholder)
- Permission API queries (7 lines per query)
- LuckPerms integration logs (20+ lines per query)
New config option:
{
"logging": {
"enableDebugLogging": false // Set to true only when debugging
}
}
When to enable:
- Troubleshooting chat formatting issues
- Debugging LuckPerms integration
- Investigating permission problems
- Otherwise keep it OFF for clean logs!
๐ ๏ธ Code Quality - 31+ Issues Fixed โจ
8 Critical Errors Fixed:
- Constructor call to this() not first statement
- File corruption in PayToggleManager and EconomyManager
- NPE risks in TeleportLocation.getLevel()
- Duplicate method definitions
- Missing getBiome() method
23+ Warnings Fixed:
- Unnecessary String.valueOf() calls
- Unnecessary null checks (4x)
- Ignored mkdirs() results (4x)
- Resource warnings for Level (2x)
- @Nullable on non-null methods (8x)
- Redundant casts and variables
Result:
- โ Zero compilation errors
- โ Zero warnings (except intentional suppressions)
- โ Professional code quality
- โ Production-ready
๐ฏ Build #627 - Critical Shutdown Fix
๐ง Server Shutdown Hang RESOLVED ๐
Problem: Server would hang indefinitely during shutdown, requiring force-kill
Symptom: Stuck at "ThreadedAnvilChunkStorage: All dimensions are saved"
Solution: Comprehensive thread pool shutdown implementation
What was fixed:
- โ 7+ background thread pools now properly terminate
- โ Server exits cleanly within 10-30 seconds
- โ
No more hanging on
/stopor restart commands - โ Clean JVM shutdown with all resources released
Technical Details:
- EconomyManager, TransactionHistoryManager, PayToggleManager executors
- AfkManager and AfkMovementDetector schedulers
- BanManager cleanup scheduler
- TeleportRequestManager timeout scheduler
- DashboardAPI HTTP server (improved 5-second graceful shutdown)
You'll now see detailed shutdown logs:
[INFO] Shutting down Economy Manager...
[INFO] EconomyManager shutdown complete.
[INFO] Shutting down AFK Manager...
[INFO] AFK Manager shutdown complete
[INFO] Running thread diagnostics...
[INFO] No NeoEssentials threads detected โ
๐ ๏ธ Code Quality & Diagnostics
NEW: Thread Diagnostic Utility
- Automatically detects any threads preventing shutdown
- Logs non-daemon threads blocking JVM exit
- Helps identify shutdown issues instantly
Code Improvements:
- Fixed all code analysis warnings
- Optimized lambda expressions with method references
- Improved JavaDoc formatting
- Better logging throughout shutdown process
๐ฏ What's New in Build #599
This release brings critical fixes, performance improvements, and enhanced LuckPerms integration with over 1000 lines of code improvements!
๐ Major Improvements
๐ LuckPerms Integration
โจ NEW: Automatic permission synchronization!
- All 85+ NeoEssentials permissions now appear in LuckPerms autocomplete
- Full web editor support - permissions visible in dropdown menus
- Automatic sync on server startup
- Export to YAML format for backup/sharing
Usage: Permissions automatically sync when LuckPerms is detected. Use /lp user <player> permission set neoessentials.<TAB> to see all available permissions!
๐ก Teleportation System
โจ NEW: /tpo command implemented!
- Teleport to offline player's last known location
- Permission:
neoessentials.teleport.admin.tpo - Usage:
/tpo <playername>
โ VERIFIED: All teleport commands working correctly
/back- Return to previous location โ/tpa- Request to teleport to player โ/tpahere- Request player teleport to you โ- All 15 teleport commands fully functional
๐ง Performance & Stability
โ ELIMINATED: Log spam from duplicate event handlers
- Fixed thousands of WARN messages per minute during farming/building
- 50% reduction in event processing overhead
- Consolidated duplicate AFK activity handlers
โ FIXED: Debug logging system
- Removed duplicate config options
- Single
logging.enableDebugLoggingsetting controls all debug logs - Cleaner production logs
๐ Critical Bug Fixes
Minecraft 1.21.4 Compatibility
โ FIXED: Kit system crash on startup
- Resolved
NoSuchMethodErrorfrom Registry API changes - Unknown items now gracefully skipped
- Server starts successfully with kits enabled
Command Fixes
โ
FIXED: /tpahere command crashes with NullPointerException
- Resolved ConcurrentHashMap null value issue
- All teleport request commands working correctly
โ FIXED: Dashboard port configuration ignored
- Port changes now properly applied
- Requires restart or
/dashboard restartto take effect
Permission System
โ FIXED: 15 missing permission nodes added
- Portable workstations: anvil, crafting, fletching, smithing, stonecutting
- Utilities: realname, whois, seen, sign, rules, suicide, ping
- All commands now have proper permission nodes
โ FIXED: Ops bypassing LuckPerms permissions
- LuckPerms now checked first when enabled
- Proper permission priority order restored
๐ All Changes
Added
- โ
/tpocommand (teleport to offline player) - โ LuckPerms permission sync system
- โ 15 missing permission nodes
- โ Enhanced switch expressions (modern Java)
- โ Pattern matching instanceof
- โ Method references (cleaner code)
- โ Comprehensive documentation (7 new guides)
Fixed
- โ Kit system crash (Minecraft 1.21.4)
- โ
/tpahereNullPointerException - โ Dashboard port configuration
- โ Duplicate event handlers (log spam)
- โ Debug logging consolidation
- โ 40 code analysis warnings (27 + 13)
- โ External permissions priority
- โ Visibility scope issues
- โ Potential NPE in teleport commands
Changed
- โ Consolidated debug configuration
- โ Updated to modern Java features
- โ Improved code quality (zero warnings)
- โ Enhanced error handling
- โ Cleaner lambda usage
๐ฎ Usage Examples
LuckPerms Integration
# Permissions now autocomplete!
/lp user PlayerName permission set neoessentials.<TAB>
# Grant all portable workstations
/lp group default permission set neoessentials.stonecutting true
/lp group default permission set neoessentials.anvil true
# Use web editor - permissions now visible in UI!
/lp editor
New /tpo Command
# Teleport to where an offline player last was
/tpo OfflinePlayer
# Great for finding bases or investigating grief!
Debug Logging
{
"logging": {
"enableDebugLogging": false // Controls ALL debug logging
}
}
โ๏ธ Technical Details
- Code Changes: 1000+ lines
- Files Modified: 18+
- Warnings Fixed: 40 (27 + 13)
- Build Status: โ Successful
- Build Number: #599
- Compilation Errors: 0
๐ฆ Installation
- Download the latest version
- Stop your server
- Replace the old NeoEssentials jar
- Start your server
- Config automatically migrates
- Permissions automatically sync with LuckPerms
No manual configuration required!
๐ Links
- Wiki: Full documentation
- Discord: Support & community
- GitHub: Source code & issue tracker
โ ๏ธ Compatibility
- Minecraft: 1.21.1 & 1.21.4
- NeoForge: 21.1.179+ & 21.4.156+
- LuckPerms: Optional but recommended
- Breaking Changes: None - fully backward compatible
๐ Thank You!
Thanks to all users for reporting issues and helping make NeoEssentials better!
NeoEssentials v1.0.2.2 - Critical Fixes & PlaceholderAPI Enhancement
Build #524 | November 10, 2025 | Minecraft 1.21.1 | NeoForge 21.1.179+
๐ฏ What's New
This major update brings 38 commits of improvements since v1.0.2.1 (September 7, 2025).
๐ Web Dashboard System
- Space-themed real-time monitoring
- Player stats & server metrics
- Discord authentication
- Mobile-responsive design
- Commands:
/dashboard start/stop/status/reload
๐ฆ Kit Management
- Create kits:
/createkit <name> <cooldown> - Use kits:
/kit [name] - Admin tools:
/delkit,/listkits
๐ฌ Discord Integration
- DiscordSRV & SDLink adapters
- Role synchronization
- Web dashboard Discord auth
๐ฐ Economy Support
- FTB Money, Lightman's Currency, Magic Coins
- Transaction history tracking
/paytogglecommand
๐ Critical Fixes
- Fixed config loading errors (absolute paths with
ResourceUtil.getConfigFile()) - Fixed Minecraft color codes being escaped in JSON (
&7saved as\u00267) - Added
.disableHtmlEscaping()to Gson configuration - Prefixes/suffixes in
permissions.jsonnow display with correct colors - Added 3 new AFK placeholders for third-party integration:
{neoessentials_afk}- Status ("AFK" or empty){neoessentials_afk_time}- Duration ("5m 30s"){neoessentials_afk_reason}- Custom message
โจ New Commands
/dashboard- Web interface control/createkit- Kit creation/kit- Kit usage/delkit- Kit deletion/listkits- Kit management/paytoggle- Toggle payments/unmute- Unmute players/repair- Item repair/powertool- Item commands- Gamemode shortcuts
๐ง Improvements
- Permission system enhancements
- Shop system validation
- Chat formatting
- AFK tracking
- Command registry
- Message localization
- Atomic file saves
- SLF4J logging
๐ฆ New Configs
config/neoessentials/
โโโ discord_auth.json # Discord mappings
โโโ dashboard.json # Dashboard settings
โโโ kits.json # Kit definitions
โโโ economy_integrations.json
๐ Upgrade Instructions
- Backup
config/neoessentials/ - Stop server
- Replace JAR with
neoessentials-1.0.2.3+build.536.jar - Start server (auto-generates new configs)
- (Optional) Fix color codes in
permissions.json: Replace\u0026with& - Restart server
โ Verification Checklist
- Config files now load properly (no more "file not found")
- Color codes preserve correctly in JSON (
¬\u0026) - AFK placeholders available for TabList integration
- All 28 placeholders working for third-party mods
๐ฆ Build Information
- Build Number: #524
- Previous Version: v1.0.2.1 HOTFIX (September 7, 2025)
- Release Date: November 10, 2025
- Minecraft Version: 1.21.1
- NeoForge Version: 21.1.179+
- Compatible NeoForge Range: 21.1.179 - 21.1.194+
- Minecraft Version Range: [1.21.1, 1.21.8]
- Java Version: 21+
- Compatibility: No breaking changes - Fully compatible with v1.0.2.3
Contributors
- @WillxRv Pull Request #13
- @L8-Alphine #11
๐ Required Dependancy mod
๐ Links
Full changelog on GitHub | Report issues on GitHub Issues

