HyperPerms-2.10.0.jar
What's new
HyperPerms 2.10.0 — Command tab-completion, QoL fixes & QuestLines Claims compatibility
Server Version: 0.5.6 (release) · 0.6.0-pre.4 (pre-release)
Quality-of-life release: tab-completion for /hp, instant command-tree refresh, and fixes for several silently-broken integration paths — including a QuestLines Claims compatibility fix that was handing out double (or triple) the claims a permission allowed. The same codebase now runs on both the Hytale release (0.5.x) and pre-release (0.6.0-pre.x) channels.
Added
- Tab-completion for
/hpcommands. Group, track, permission-node and online-player arguments now suggest as you type (case-insensitive prefix match). Previously every argument was a plain string with no completion. - Instant command-tree refresh. When a player's groups or permissions change, the affected online player gets a fresh command tree immediately — newly-granted commands appear without a relog.
- Clickable download link in the "update available" notification (alongside
/hp update). - Startup self-check that verifies the Hytale-core reflection targets used by optional integrations resolve on the running build, logging a clear warning if any are missing.
Fixed
- QuestLines Claims granted double (or triple) the claims/rent a permission allowed. QuestLines computes claim/rent limits by summing the numeric suffix of
questlinesclaims.claim.chunks.<n>/questlinesclaims.rent.limit.<n>nodes across every provider, and across both a user's permissions and each of their groups' permissions. HyperPerms exposed the same fully-resolved set through several of those surfaces (getUserPermissions, the virtualuser:<uuid>group, and the native-provider sync), so each node was counted 2–3×. When QuestLines is detected, HyperPerms now collapses those to a single summable source — boolean checks are unaffected, and servers without QuestLines see no change. (LuckPerms was already special-cased by QuestLines, which is why it behaved correctly.) - PlaceholderAPI offline-player fallback never worked — it referenced a non-existent class (
…server.HytaleServer, missing.core) and a deadgetPlayerManager()chain, silently returning null. Now usesUniverse.get().getPlayer(uuid). - MysticNameTags nameplate refresh never worked — the
Worldclass literal omitted its.worldsub-package. - Event listener leaks across
/reload— chat, tab-list and update-notification listeners stored their registration handles but never calledunregister()(a stale comment claimed no such API existed). They now unregister properly instead of leaving duplicate handlers. - Stale "ghost" entries in the player/tab list — HyperPerms only ever added player-list entries; quitting players are now removed via
RemoveFromServerPlayerListinstead of lingering.
Changed
- Centralized the Hytale-core reflection string literals (
Universe,PlayerRef,World) intoReflectionUtilso a future Hytale package move is a one-line fix and the optional integrations can't drift independently.
Upgrade
Drop-in replacement for 2.9.x — no config changes. Replace the jar in mods/ and restart, using the build that matches your server channel:
HyperPerms-2.10.0.jar— Hytale release servers (0.5.x, manifest^0.5.6)HyperPerms-2.10.0-prerelease.jar— Hytale pre-release servers (0.6.0-pre.x, manifest^0.6.0-pre.4)
If you run QuestLines Claims, HyperPerms prunes any duplicate questlinesclaims.* entries a previous version wrote into the native provider the first time each player connects after updating.
Requirements: Hytale 0.5.6+ (release) or 0.6.0-pre.x (pre-release), Java 25 Full Changelog: https://github.com/HyperSystems-Development/HyperPerms/compare/2.9.6...2.10.0 Download: https://github.com/HyperSystems-Development/HyperPerms/releases/tag/2.10.0
This mod has no additional files

