Note
The original 1.12.2 Forge client is retained on the og branch.
AI contributors: read handover.md for current progress, architecture, remaining work and validation requirements.
| Dependency | Version |
|---|---|
| Minecraft | 26.2 |
| Fabric Loader | 0.19.3+ |
| Fabric API | 0.157.0+26.2+ |
| Java | 25 |
- Install Fabric Loader for Minecraft 26.2.
- Put Fabric API and
agalarhack-*.jarin.minecraft/mods/. - Launch the Fabric profile. The HUD should report Agalar Hack 2.0.13.
Releases are numbered 2.x.yy:
| Part | Meaning |
|---|---|
2 |
Fixed prefix for this Fabric client line |
x |
Major version, raised for a major update; yy returns to 00 |
yy |
Two-digit minor update, 00 to 99, raised for each regular release |
Examples: 2.0.00 → 2.0.01 → … → 2.0.12 → 2.1.00. The Minecraft version the client targets
(26.2) is independent of this number. Releases up to 26.2.7 used the earlier Minecraft-derived
numbering; 2.0.00 is the first release under this scheme. The build fails if mod_version in
gradle.properties does not follow it.
Press Right Shift or use .gui / .clickgui.
26.2.5 introduces a rebuilt dark Control Center with a persistent category sidebar, searchable module/settings metadata, module cards, typed settings editing and matching themed screens for Profiles and Global Target Policy. HUD, Profiles and Targets remain directly accessible from the header.
Open Control Center → HUD. Branding, Module List, Info and Target HUD are draggable independently.
The editor now provides:
- a visible 10 px placement grid;
- grid snapping plus sibling edge/center alignment snapping;
- direct drag-and-drop with one config write on release;
- nearest-corner anchoring after drop;
- live overlap detection with red conflict outlines;
- visibility, manual anchor and reset controls.
HUD layout is persisted in config/agalarhack-hud.json.
Profiles store complete module state/settings/keybinds, Global Target Policy and HUD layout. They support save/load/delete, per-server binding, duplicate/rename and clipboard JSON import/export. Partial loads can select module/category settings, HUD, targets or the independent keybind slice; imported maps are sanitized before storage. Rename migrates server and dimension bindings.
| Command | Description |
|---|---|
.help |
Lists commands |
.modules [query] |
Lists/searches modules, descriptions and settings |
.settings <module> |
Shows typed setting values and constraints |
.toggle <module> |
Toggles a module |
| `.bind <key | none>` |
.set <module> <setting> <value> |
Changes a typed setting |
| `.friend add | remove |
| `.profile save | load |
| `.profile duplicate | rename |
| `.profile export | import ` |
.grind <item> [count] / .grind plan <item> [count] |
Plans what it would take to obtain an item, counting what you already carry (planning only) |
.grind survival [tier] |
Runs live survival milestones: iron, diamond, or max (default), including food, equipment, a starter house, storage annex, Netherite and enchanting |
.grind run <item> [count] |
Executes a supported item goal with gathering, tool/station preparation, crafting, cooking or smithing |
.grind baritone on / .grind baritone off |
Enables/disables optional Baritone mining and travel; survival campaigns enable it automatically |
.grind resume / .grind stop / .grind status |
Resumes after resolving a pause, cancels a run, or reports the current milestone and pause reason |
.gui |
Opens the Control Center |
.panic |
Disables all active modules |
See AutoGrind for setup, progression, inventory-pressure recovery and limits. Start on a flat, clear Overworld plot. Continuous travel requires a separately installed compatible Baritone; the first Netherite Upgrade template requires player looting, and enchantments use vanilla level-30 offers.
| Category | Module | Highlights |
|---|---|---|
| Combat | Aura | Shared target policy, FOV/range/wall range, priority and vanilla/custom cooldown |
| Combat | TriggerBot | Crosshair-only attacks with friend/entity filters |
| Misc | AutoEat | Hunger-aware food choice with safe slot/use ownership |
| Misc | AutoReconnect | Bounded reconnect attempts from the vanilla disconnect screen |
| Movement | Speed | Ground speed multiplier with cap and movement conditions |
| Movement | Flight | Creative-style flight with exact ability restoration |
| Movement | Jesus | Surface-aware water correction and configurable lava lift |
| Movement | Sprint | Vanilla-eligibility-aware automatic sprint |
| Movement | Step | Configurable step height with exact restoration |
| Movement | NoFall | One grounded-status packet near landing; servers may still apply damage |
| Render | Fullbright | Client night vision with prior-effect preservation |
| Render | Coordinates | XYZ and facing HUD info |
| Render | Durability | Item durability HUD info |
| Render | ESP | Boxes/tracers/labels, friend color, scoreboard team color and distance fade |
| Render | StorageESP | Bounded loaded-chunk highlighting for chests, barrels, shulkers and utility storage |
| Render | BlockESP | Incremental budgeted scanning for ores, spawners, portals and beacons |
| Render | Trajectories | Vanilla-aware bow charge, charged crossbow, trident threshold, source motion and impact collision |
| Render | TargetHUD | Health bar, equipment and known effect icons |
| Render | Freecam | Detached camera with acceleration, deceleration, smoothing and body marker |
| World | AutoTool | Correct-tool selection with durability protection |
Friend coloring takes priority over scoreboard-team coloring. Distance fading begins at the configured fadeStart and approaches minimumAlpha near the maximum ESP range. StorageESP scans only loaded chunks and caps results. BlockESP spreads its search budget across client ticks instead of scanning the entire volume during world rendering.
physics=Vanilla uses Minecraft-aware family behavior: the vanilla bow draw-power curve, a charged-projectile requirement for crossbows, the trident minimum use threshold, family launch speeds/gravity/drag and the same source-motion addition used by shootFromRotation. physics=Custom preserves manual gravity/drag tuning from earlier versions. Collision and landing markers remain available.
Minecraft 26.2 multiplayer does not always synchronize complete active-effect state for remote living entities. TargetHUD displays only effects actually known by the client and never invents missing effect data.
| Path | Purpose |
|---|---|
config/agalarhack.json |
Module state, keybinds and settings |
config/agalarhack-friends.json |
Friend list |
config/agalarhack-hud.json |
HUD layout |
config/agalarhack-target-policy.json |
Shared target filter |
config/agalarhack-profiles/*.json |
Named complete snapshots |
config/agalarhack-server-profiles.json |
Server → profile bindings |
- Added friend/team-aware ESP coloring and distance fading.
- Added bounded StorageESP and incremental BlockESP.
- Added HUD grid snapping, sibling alignment snapping and overlap diagnostics.
- Reworked held-projectile prediction around vanilla bow/crossbow/trident launch behavior and source motion.
- Added Freecam acceleration/deceleration before final positional smoothing.
- Rebuilt the Control Center and settings surfaces around a shared dark UI theme.
26.2.4 added drag-and-drop HUD positioning, ESP tracers/name labels, collision-aware Trajectories, richer TargetHUD, Freecam smoothing/body marker and full profile import/export/duplicate/rename. 26.2.3 introduced profiles/per-server configs, the HUD layout manager, shared target policy/tracker and utility/render modules. 26.2.2 established typed settings, friends, Aura/TriggerBot improvements, safer module lifecycle and modern CI.
This client can be extended by other Fabric mods: declare an agalarhack entrypoint and you get a
module and a command registered alongside the built-in ones. The published surface, the rules the
loader enforces and a complete minimal example are in Writing an addon. The API is
version 1 and still marked provisional.
The shared service foundation and its current limitations are documented in Foundation services. This branch introduces an internal event bridge, inventory/target/rotation services, notifications, lifecycle cleanup and explicit module-config migration while preserving the existing 26.2 rendering pipeline.
./gradlew buildThe jar is written to build/libs/agalarhack-<version>.jar.
To cut a release, raise mod_version in gradle.properties (for example 2.0.01 → 2.0.02), add
a ## [2.0.02] - <date> section to CHANGELOG.md and merge to main. CI then
publishes release v2.0.02 with that section as its notes. It publishes each version once: a push
that leaves mod_version alone publishes nothing, and a pull request whose version has no
changelog section fails. Do not push v* tags by hand; CI creates them.
main targets Minecraft 26.2 Fabric; og keeps the historical 1.12.2 Forge client.
Use responsibly. Client-side mods can violate server rules and may result in bans where prohibited.