How disezmike/wynnstats works
Wynnstats is a client-side Fabric mod that exports the player’s equipped Wynncraft gear and parsed stats as JSON. The main workflow starts with the /wynnstats client command: it selects gear slots, parses item lore using cached reference data, builds character data, writes the export, and reports success or failure in chat. The cache can load locally or download reference gear data. The README also names ability-tree and advanced-stat exports as planned, not implemented. Relationships reflect the sampled command, parser, cache, and model code; unsampled wiring is omitted.
Main entry points: WynnstatsCommand.java Export command · ItemCache.java Item reference cache · LoreParser.java Lore parser · Message.java Feedback message
Components 17
Client entry
- Client initializer
src/client/java/com/disezmike/wynnstats/WynnstatsClient.java - Export command
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java
Gear analysis
- Lore parser
src/main/java/com/disezmike/wynnstats/util/LoreParser.java - Stat mapper
src/main/java/com/disezmike/wynnstats/util/StatMapper.java - Parsed item stats
src/main/java/com/disezmike/wynnstats/model/ItemStatsAnalysis.java
Reference data
- Mod initializer
src/main/java/com/disezmike/wynnstats/Wynnstats.java - Item reference cache
src/main/java/com/disezmike/wynnstats/util/ItemCache.java - Local item cache
- Typed item data
src/main/java/com/disezmike/wynnstats/model/ItemData.java
Export and feedback
- Character export data
src/main/java/com/disezmike/wynnstats/model/CharacterData.java - Pretty JSON export
- Feedback message
src/main/java/com/disezmike/wynnstats/model/Message.java - Feedback type
src/main/java/com/disezmike/wynnstats/model/MessageType.java - Chat colors
src/main/java/com/disezmike/wynnstats/util/Color.java - Chat feedback
src/client/java/com/disezmike/wynnstats/util/FeedbackHelper.java
Other components
- Minecraft player
- Wynntils gear data
Connections 17
- Client initializer → Export command: registers
src/client/java/com/disezmike/wynnstats/WynnstatsClient.java - Mod initializer → Item reference cache: initializes
src/main/java/com/disezmike/wynnstats/Wynnstats.java - Minecraft player → Export command: invokes
README.md - Export command → Lore parser: parses lore
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java - Lore parser → Item reference cache: looks up item
src/main/java/com/disezmike/wynnstats/util/LoreParser.java - Lore parser → Stat mapper: maps stat names
src/main/java/com/disezmike/wynnstats/util/LoreParser.java - Lore parser → Parsed item stats: creates stats
src/main/java/com/disezmike/wynnstats/util/LoreParser.java - Item reference cache → Local item cache: loads or saves
src/main/java/com/disezmike/wynnstats/util/ItemCache.java - Item reference cache → Wynntils gear data: downloads
src/main/java/com/disezmike/wynnstats/util/ItemCache.java - Item reference cache → Typed item data: deserializes
src/main/java/com/disezmike/wynnstats/util/ItemCache.java - Export command → Character export data: adds parsed gear
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java - Character export data → Pretty JSON export: writes JSON
src/main/java/com/disezmike/wynnstats/model/CharacterData.java - Export command → Feedback message: builds feedback
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java - Export command → Feedback type: selects status
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java - Export command → Chat feedback: sends feedback
src/client/java/com/disezmike/wynnstats/command/WynnstatsCommand.java - Chat feedback → Feedback message: renders
src/client/java/com/disezmike/wynnstats/util/FeedbackHelper.java - Feedback message → Chat colors: uses codes
src/main/java/com/disezmike/wynnstats/model/Message.java