Repository navigation
Find living characters by real name - #108
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Implement CharacterIdentity.findByName: overlay every loaded account, as info does, then scan the in-memory directory for ALIVE characters whose real name equals the trimmed query, ignoring case. Aliases, masks and temporary aliases never match, quarantined accounts are skipped and no files are read. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Summary
Merge Risk: 🔵 Low · up to
|
|
Muse (independent reviewer) reviewed this PR after merge, against the stage 6a design: verdict OK. One minor note: |
Implements TLibs 2.5.0's
CharacterIdentity.findByName(String)for stage 6a's typed-name vehicle whitelist, and pins TLibs 2.5.0.CharacterIdentityService.findByNameruns on the main thread, overlays every loaded account (the same live overlayinfouses, so unsaved renames count), then scans the in-memoryCharacterDirectory. No files are read per call.CharacterDirectory.findByNamereturns everyALIVEcharacter whose real name (CharacterInfo.name()) equals the trimmed query, ignoring case, as an immutable list. Dead and missing characters are excluded; quarantined accounts are skipped, asinfoskips them.Tests cover masked and aliased online players (match only on the real name), unsaved renames, offline saved characters, dead and missing characters excluded, several matches across accounts, quarantined accounts, no disk reads, and the main-thread check.
Gate:
tfmc-mvn -o -B clean verify, 2,229 tests, 0 failures, 100% line coverage gate met. Intended release 2.19.0 (not tagged; installed locally only). CI will fail to resolve TLibs 2.5.0 until TLibs is released.Depends on: TF-Minecraft/TLibs#45
Docs: TF-Minecraft/Docs#207
🤖 Generated with Claude Code