HypixelClient is a client-only Fabric mod. It has no dedicated server component and does not add blocks, items, or persistent world data. Fabric callbacks and focused Mixins feed Minecraft events into a small set of static feature coordinators.
HypixelClientloads configuration and registers key, chat, render, network, and tick callbacks.- Each client tick advances enabled feature state machines such as targeting, Hideonleaf, beachball, and fishing.
- Mixins expose narrowly scoped hooks that Fabric does not provide, including attack invocation, input replacement, packet observation, and world-render timing.
- Renderers read current state and draw world boxes or HUD overlays. They do not own gameplay decisions.
HypixelClientConfigpersists user choices. Transient locks, counters, and state-machine phases remain in memory.
| Package | Responsibility |
|---|---|
client |
Fabric entry point and top-level lifecycle wiring |
client.config |
JSON serialization and legacy config migration |
client.state |
Shared settings and transient runtime state |
client.combat |
CPS measurement, click scheduling, and attack dispatch |
client.feature.lockon |
Candidate selection, aim smoothing, and automated actions |
client.feature.hideonleaf |
Hideonleaf hunting and shard-session valuation |
client.feature.beachball |
Beachball state machine and movement decisions |
client.feature.fishing |
Fishing, packet diagnostics, and sea-creature combat |
client.feature.chat |
Mention and shutdown-message detection |
client.integration |
Opt-in event-service authentication and delivery |
client.render |
World and HUD rendering |
client.ui |
Settings screens and custom widgets |
client.mixin |
Accessors and injection points into Minecraft client behavior |
HypixelClientState is the canonical store for user-configurable values shared across features. Feature
classes may own private transient state when it is meaningful only to their state machine. A
feature that presses keys or changes movement must provide a reset path and call it when disabled,
disconnected, or interrupted.
HypixelClientConfig.Data mirrors only values intended to survive a restart. The runtime fields are
copied explicitly during load and save so adding a setting is a deliberate change. When adding a
new persistent option, update its default, the Data model, both copy directions, the UI, and
the configuration reference.
Mixin classes should stay thin: capture an event or expose an inaccessible method, then delegate
to a feature class. Avoid keeping feature state in a Mixin. All injected methods use the hypixelclient$
prefix to prevent name collisions.
The active Mixin list is in src/client/resources/hypixelclient.client.mixins.json. A missing or renamed
target fails startup because the configuration is marked required and uses defaultRequire: 1.
HideonleafShardTracker performs an asynchronous, unauthenticated GET against Hypixel's public
Bazaar endpoint while the tracker is enabled. BotEventClient is separately gated behind an
enabled alert type and a user-supplied URL. See Configuration and privacy.