Release/3.0.0#26
Conversation
- Remove unused ItemStack import from CreateWorldScreenMixin - Guard empty targetItemId in ClientHuntState.handleWin to avoid null - Cache display name alongside ItemStack in HuntHudRenderer - Add fast-path flag and try-catch around bindComponents in ItemPool - Compare MouseButtonEvent x/y as doubles for sub-pixel accuracy Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- HuntHudRenderer.resetCache() called from WorldLifecycleHandler on disconnect so a new hunt targeting the same item doesn't reuse a stale ItemStack. - SpawnHuntScreen caches the display ItemStack and only recreates it when displayItem changes (rolling tick or reroll), matching the HUD pattern. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Claude finished @richardthornton's task in 2m 10s —— View job Code Review: Release/3.0.0 (PR #26)
This is a clean, well-scoped release PR with 54 additions / 14 deletions across 8 files. The changes fall into three categories: caching improvements, defensive hardening, and minor cleanup. Overall this is solid work — my notes below are mostly minor observations. Code Quality
The addition of try/catch around
Good change. Previously
Previously a new
Removing the
Removing the unused Security
targetItem = !payload.targetItemId().isEmpty()
? Identifier.tryParse(payload.targetItemId()) : null;This aligns No other security concerns — the changes are all client-side rendering and state management with no user input handling, file I/O, or network protocol changes. PerformanceThe performance improvements are the highlight of this PR:
All three are targeted, proportional optimizations — no premature abstraction, just eliminating obvious hot-path allocations. The caching invalidation strategies are simple and correct (identity check for items, equality check for identifiers). Minor Observations
SummaryClean release PR. The changes improve runtime performance (eliminating per-frame allocations in the render loop), add forward-compatibility hardening (defensive try/catch for MC API changes), and fix a potential null identifier edge case in multiplayer packet handling. No issues that would block a release. |
No description provided.