EliteEssentials-1.1.12.jar
What's new
1.1.12 - 2026-02-19
Added
- Invsee command - view and modify another player's inventory
/invsee <player>- Opens the target player's live inventory on the Bench page- Runs on the target player's world thread for cross-world safety
- Permission:
eliteessentials.command.misc.invsee(Admin) - Configurable messages:
invseeOpened,invseePlayerNotFound,invseeError
- Tab list LuckPerms prefix support - new standalone
tabListconfig sectiontabList.showLuckPermsPrefix(default:false) prepends the player's LuckPerms prefix to their name in the tab list- Works alongside the AFK
[AFK]prefix - LuckPerms prefix appears after it (e.g.[AFK] [VIP] PlayerName) - Color codes are automatically stripped since the Hytale tab list only supports plain text
- New
TabListServicehandles all tab list display name composition - AFK tab list updates now route through
TabListServiceso both prefixes stay in sync
Fixed
- Fixed server crash (
IndexOutOfBoundsExceptioninArchetypeChunk.getComponent) when running/backafter multiple/rtpcommands- Root cause: RTP's post-teleport
Invulnerablecomponent add/remove caused deferred archetype migrations that invalidated the entityRefcached byAbstractPlayerCommand.executeAsync(), creating a race condition with any subsequent command - Removed
Invulnerablecomponent manipulation from RTP, only theTeleportcomponent is added now, avoiding extra ECS mutations - Players still land on safe ground via the existing
findHighestSolidBlock+isSafeLocationchecks
- Root cause: RTP's post-teleport
- Fixed aliases for non-EE commands (other mods, LuckPerms, etc.) failing with "Wrong sender type, expecting Player"
- Generic dispatch now uses the
PlayerRefoverload ofCommandManager.handleCommand()so the API resolves the realPlayercomponent, which commands extendingAbstractPlayerCommandrequire
- Generic dispatch now uses the
- Fixed aliases not passing through extra arguments/subcommands typed by the player
- e.g.,
/lucky editorwhere/luckyis an alias for/lpnow correctly dispatches/lp editor - Alias commands now allow extra arguments and append them to the target command
- e.g.,
- Fixed PlaceholderAPI expansions (e.g., RPGLeveling) crashing chat with
IllegalStateException: Assert not in thread- Root cause:
PlayerChatEventfires on the network thread (ServerWorkerGroup), but PAPI expansions callstore.getComponent()which requires theWorldThread - PAPI placeholder resolution and message broadcasting now dispatch to the world thread via
world.execute() - Thread-safe work (mute check, format building, LuckPerms placeholders) stays on the network thread for performance
- Graceful fallback: if the player's world can't be resolved, chat sends without PAPI placeholders instead of silently disappearing
- Root cause:
Changed
- Economy balance change notifications now show configurable
serverSenderName(default: "Server") instead of "Unknown" when the server deducts money (e.g., command costs, console /eco commands)- New config option:
economy.serverSenderName- customize the name shown as the sender for server-initiated wallet changes - Server owners can set this to anything they like (e.g., "Bank", "System", their server name)
- New config option:
This mod has no additional files