Populate paste/README.md with a per-module / per-subsystem comparison
between OpenZen (this repo, deobfuscated from Zen client) and
Naven-Modern (github.com/Margele/Naven-Modern). Findings collected by
running parallel agents against both source trees:
- Functional modules: 30+ Zen modules trace back to a 1:1 Naven
counterpart, either same-named or renamed (e.g. KillAura<-Aura,
CrystalAura<-AttackCrystal, ESP<-Glow, InventoryManager<-
InventoryCleaner using Naven's @ModuleInfo internal name). Setting
strings, default values, ranges, RGB constants, and even Chinese
literals like "点击使用" survive verbatim.
- Framework: EventBus/EventTarget/EventPriority are the renamed twins
of Naven's EventManager/EventTarget/Priority (same DarkMagician6
EventAPI shape, identical default byte priority 2). Module,
ModuleManager, Setting/Value, CommandManager, util classes (
RotationUtil keeps Naven's odd antlr OrderedHashSet import,
ChunkUtil keeps "Stream limit didn't work.") all line up.
- Fingerprints that can't be hand-waved away: +1337 magic offset in
Stuck; the typo 'Recorvey' carried over from rewrites; the
Projectiles RGB triplets (173,12,255)/(255,238,154); identical
sensitivity-GCD formula scaled*scaled*scaled*1.2F.
The doc also tabulates module-level severity ("line-by-line" / same-
name+rewrite / not plagiarized) so readers can skim before diving in.
Co-Authored-By: Claude Opus 4.7 <[email protected]>
README: clarify that the deobfuscated jar is the latest one as of
2026-05-21 (rather than an old build, as some users seem to assume),
collapse a stray hard wrap, and link to a new paste/ subtree that
will track which modules were lifted from the Naven client.
Also rename KillAura.aimRange to attackRange to match the user-facing
'Attack Range' label and how the field is actually used in the in-FOV
check.
Co-Authored-By: Claude Opus 4.7 <[email protected]>