Skip to content
This repository was archived by the owner on Jul 12, 2026. It is now read-only.

NeoEssentials v1.1.3 — Out of Beta: Combat, WebSocket & Kit Crash Fixes

Choose a tag to compare

@XEXModz XEXModz released this 22 Apr 08:50
· 13 commits to main-latest since this release
fae7b98

What's New in v1.1.3

NeoEssentials is out of beta. Every known issue from v1.1.2-beta is fixed, plus over 1,000 lines of orphaned code removed and several crash paths hardened. Tested live on an ATM10 v6.6 server with FTB Ranks installed. Server running NeoForge 21.1.224.

Bug Fixes

  • Combat tag stuck — /home and /tpa were blocked for 5 seconds after attacking armor stands, vehicles, item frames, villagers, or your own tamed pets. Combat is now only triggered by actual hostile mobs and other players. Self-damage (thorns reflection) no longer tags. Combat timer now refreshes on every valid hit so long fights stay tagged instead of expiring mid-combat.
  • newPlayerKit crash on malformed first_joined.json — Handler crashed if the file contained anything other than a valid JSON array (corruption, empty file, unexpected content). Added proper JSON array guard, thread-safe lock across concurrent joins, atomic temp-file-then-move writes with UTF-8 encoding, and canonical path resolution via ResourceUtil.
  • WebSocket double-start crash — IllegalStateException was thrown whenever the dashboard was stopped and started again (manual /neoe dashboard restart, reload, etc.). The underlying java-websocket library does not allow restarting a stopped server. Added startIfNotStarted() guard and shutdownAndReset() that clears the singleton so a fresh instance can be created on next start.
  • Dashboard rate limit too low by default — Default maxRequestsPerMinute raised from 60 to 200. Fresh installs will no longer hit intermittent "Connection Error" on the web UI with live widgets.
  • Heavy log spam on the dashboard data path — 25 routine LOGGER.info calls in ServerDataCollector, PlayerDataCollector, and ServerEndpoint were firing on every data collection cycle / API request. All changed to LOGGER.debug. Error and warn calls preserved so real problems still surface.

Cleanup

  • Duplicate ResourcePackManager packages removed — The orphaned com.zerog.neoessentials.resourcepacks (plural) package contained a half-finished admin pack upload feature with zero imports, zero references, and zero event wiring from anywhere in the codebase. Removed (1,043 lines across 3 files). The active resourcepack (singular) badge/emoji auto-send system is untouched.
  • PermissionBridge hardcoded color codes — 93 legacy § color codes scattered across help output replaced with a private styled() helper using the Minecraft ChatFormatting enum. Matches the style used elsewhere in the mod (ChatComponentUtil, MessageUtil). Type-safe, no more invisible control characters in source.

TAB List

  • Individual player rows now show [group] PlayerName pingms with live ping updates and color coding (green good / yellow ok / red bad). Prefix is pulled from the player's permission group.

Config Notes

NeoEssentials configs are located at config/neoessentials/ in your server directory.

config/neoessentials/webdashboard.json (securitySettings section):

  • "maxRequestsPerMinute": 200 — is now the default (was 60)

After changing configs, run /neoe reload in-game or from console.

Known Issues

None. All previously documented known issues from v1.1.2-beta have been fixed.