No description
  • Java 80%
  • C++ 14.9%
  • Python 4.9%
  • Shell 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tronax ce618a1a98
Launcher: fix silent dev-mode exec failure, dist discovery and version defaults
Root cause of 'game won't start, empty dev log': dev mode stored the repo
as a RELATIVE path (../), then spawn() did chdir(repo) before execvp -
'../gradlew' was resolved against the NEW cwd and pointed outside the
repo, so exec failed silently with exit 127 and only the log header was
written. The repo path is now resolved with realpath (trailing slash
normalized) and the version list no longer offers 26.x nodes in dev mode
(they have no CLI runClient task; 1.21.11 was masked behind readdir
order before).

Also:
- dist jar discovery now walks up to three exe-relative levels, so
  starting the binary from launcher/ or launcher/build finds dist/ and
  uses instance mode instead of silently falling back to dev mode
- versions are sorted numerically (newest first, not readdir order)
- versions with an already-downloaded instance are preferred as the
  default selection, avoiding an unexpected full download on first click

Verified headlessly: dev-mode launch from launcher/ now writes gradle
output to the log and boots the PVP client to the title screen; dry-runs
from launcher/, launcher/build and repo root all resolve correctly.
2026-10-18 00:28:02 +02:00
docs TRXclient: Font-Pfad auf 26.3 fixen (location ohne font/-Praefix) 2026-10-02 20:33:28 +02:00
gradle TRXclient: Kompatibilität mit Minecraft 26.3 ("The Shift") 2026-10-02 16:52:49 +02:00
launcher Launcher: fix silent dev-mode exec failure, dist discovery and version defaults 2026-10-18 00:28:02 +02:00
src TRXclient launcher: built-in Microsoft login (device code) + Alt Manager auth fixes 2026-10-17 23:31:35 +02:00
tools TRXclient: native C++ launcher with custom window frame + Utility/PVP-Ready profile split 2026-10-17 22:48:27 +02:00
versions TRXclient: native C++ launcher with custom window frame + Utility/PVP-Ready profile split 2026-10-17 22:48:27 +02:00
.gitignore TRXclient: native C++ launcher with custom window frame + Utility/PVP-Ready profile split 2026-10-17 22:48:27 +02:00
.zcodeignore TRXclient: AutoGear full bootstrap — wood to diamond gear, live-tested 2026-10-04 18:08:34 +02:00
build.fabric.gradle TRXclient: native C++ launcher with custom window frame + Utility/PVP-Ready profile split 2026-10-17 22:48:27 +02:00
gradle.properties TRXclient: Initialgerüst – Multi-Version Fabric-Client (Stonecutter, Baritone, SeedcrackerX) 2026-10-01 15:27:10 +02:00
gradlew TRXclient: Build für alle Versionen lauffähig machen 2026-10-02 15:33:20 +02:00
gradlew.bat TRXclient: Initialgerüst – Multi-Version Fabric-Client (Stonecutter, Baritone, SeedcrackerX) 2026-10-01 15:27:10 +02:00
LICENSE TRXclient: Englische UI, Vanilla-Button-Reskin, Logo & englische README 2026-10-02 18:21:16 +02:00
README.md Launcher: clickable link and click-to-copy device code in MS login overlay 2026-10-18 00:05:35 +02:00
settings.gradle TRXclient: Kompatibilität mit Minecraft 26.3 ("The Shift") 2026-10-02 16:52:49 +02:00
stonecutter.gradle TRXclient: Kompatibilität mit Minecraft 26.3 ("The Shift") 2026-10-02 16:52:49 +02:00
stonecutter.properties.toml TRXclient: Kompatibilität mit Minecraft 26.3 ("The Shift") 2026-10-02 16:52:49 +02:00

TRXclient

A modular, multi-version utility client for Fabric
ClickGUI with a live theme engine, deep Baritone & SeedcrackerX integration,
and a reskinned vanilla UI — one codebase from 1.20.1 all the way to 26.3.

Minecraft versions  Fabric Loader  Fabric API  Stonecutter  Fabric Loom  Gradle  Java  License


✨ Features

Area What you get
ClickGUI Free-floating panels per category with pixel icons on headers & module rows, smooth easing animations, collapsible panels, scroll, drag & drop — plus a dedicated Baritone panel with the most important Baritone settings (works with the Baritone API jar, and with the standalone jar via #-chat-command fallback)
Font Custom proportional JetBrains Mono bitmap font rendered everywhere (menus, GUI, HUD, chat) with vanilla fallback for glyphs outside the atlas
Theme engine Accent colors with animated rainbow wave, per-panel opacity, corner radius, animation speed — all live-editable, all persisted
Vanilla reskin All vanilla buttons (main menu, options, …) are redrawn as translucent themed pills with hover gradients and small accent icons (mapped via translation keys, language-independent); in-game screens get the vanilla gaussian blur behind them
Menu logo & icons TRXclient badge on the title screen, themed incl. version label; sidebar buttons get consistent menu icons with proper spacing (own glyph set, also on versions without vanilla icons)
World rendering ESP (entity boxes), Tracers, BreadCrumbs (movement trail) and ChestESP (container outlines) as true line rendering visible through walls — immediate-mode depth-test-off on 1.20.1–1.21.4, vanilla always-on-top gizmos on 1.21.11/26.x
HUD modules Watermark, Arraylist (animated slide-in), Info (FPS/ping/coords/dimension), Nametags, SeedStatus, Fullbright, Trajectories, Search
Inventory & tools InventoryStealer (moves items between containers and inventory, with filters and auto-open), AutoTool (best hotbar tool for the targeted block), Replenish, AutoArmor, AutoEat, AutoPot/AutoSoup/AutoTotem
Accounts Built-in Alt Manager on the title screen: save accounts to config/trxclient/alts.json, one-click session switching (offline UUID derivation, optional token), Microsoft login via OAuth device-code flow (email-free, refresh token stored per alt; the Azure client ID is configurable in the GUI — the default is the public Prism/MultiMC app ID, which Microsoft may reject from the consumers tenant at any time), and TheAltening integration (email/token + password via authserver.thealtening.com; on the Yarn versions the client session server is redirected to sessionserver.thealtening.com while a TheAltening alt is active, so server joins work on Altening-compatible servers)
Automation AutoWalk & AutoMine via Baritone, AutoGear (bootstraps from an empty inventory: wood → wooden pickaxe → stone → iron + smelting → full diamond gear, crafting and smelting included)
Movement Fly (creative-style flight with anti-kick), Speed, Step, NoSlow, ElytraFly, BoatFly, …
SeedcrackerX bridge Receives found seeds through the official entrypoint, copies them to the clipboard, triggers finder reloads, live status in HUD
Persistence Module states, keybinds, settings, panel positions and theme in config/trxclient/*.json

🖥️ Native launcher (C++, own window frame)

TRXclient ships with its own native launcher (launcher/, plain C++17 on X11 — no toolkit, no web view). It draws its own window frame (undecorated window, custom title bar with drag / minimize / close / double-click maximize, resizable edges & corners) into a software framebuffer with FreeType text rendering, and offers two client profiles:

Profile Jar Contents
Utility Mode trxclient-<ver>+<mc>.jar The full catalog — Combat, Exploits, Automation, ESP/XRay, Baritone & SeedcrackerX (all 95 modules)
PVP Ready trxclient-pvp-<ver>+<mc>.jar Only the 10 server-safe modules (Watermark, Info, Arraylist, TargetHUD, Trajectories, Fullbright, Sprint, AutoTool, MiddleClick, AutoReconnect). Every combat/exploit/ESP class and its mixins is physically absent from the jar — nothing to find on a screenshare, and all registered modules are anticheat-friendly HUD/QoL

Both jars come from the same codebase (see “Client profiles” below); the PvP jar’s fabric.mod.json even names itself “TRXclient PvP”. The vanilla-reskin GUI works in both; empty categories (Combat, Exploits, …) are hidden automatically in PvP.

Build & run:

tools/build-dist.sh            # builds both profiles → dist/<mc-version>/
cmake -B launcher/build launcher && cmake --build launcher/build
./launcher/build/trx-launcher  # run from the repo root (finds dist/ automatically)

Microsoft login is built in (no browser extension, no in-game detour): the MICROSOFT-LOGIN button runs the OAuth2 device-code flow — the launcher shows a one-time code — click the link to open your browser, click the code to copy it — polls in the background, then walks the token chain MSA → Xbox Live → XSTS → Minecraft services and stores the account (with its refresh token) in ~/.local/share/TRXclient/launcher.json. On launch the access token is refreshed automatically when needed and passed to the game as --accessToken/--uuid/--userType msa, so online mode just works; without an account the username field starts offline (Alt Manager still available in game). The default OAuth client is the public Auth Me mod app (e16699bb-2aa8-46da-b5e3-45cbcce29091) — the only commonly used public client whose device-code flow Microsoft still allows (the old Prism/MultiMC ID is rejected with AADSTS700016, the Xbox first-party ID returns unauthorized_client); a custom Azure app ID can be set as clientId in launcher.json or via --client-id. The same client ID fix (and a device-code polling bug: OAuth errors arrive as HTTP 400 and must not abort the poll loop) went into the in-game MicrosoftAuth as well.

What the launcher does: pick a profile card (username, RAM, MC version selectable), hit SPIEL STARTEN. In instance mode it assembles a complete Fabric instance under ~/.local/share/TRXclient/ — downloads the Minecraft version JSON + client jar, all libraries, natives extraction and the full asset index from Mojang’s piston-meta, plus Fabric Loader/API from the Fabric maven — and launches KnotClient with the profile jar in mods/. If no dist jars are found but the repo is there, it falls back to dev mode (gradlew :<v>:runClient -Ptrx.profile=…). The game starts with an offline username — sign in in game via the Alt Manager (Microsoft / TheAltening / offline).

Headless test flags (used by the E2E checks): --dry-run (print the assembled java command), --profile=pvp, --dist=DIR, --home=DIR, --screenshot=FILE (+ --click=X,Y, --after=MS) render the real UI and exit.

Client profiles (build-time)

The profile is a Gradle property consumed by build.fabric.gradle:

./gradlew -Ptrx.profile=utility build   # default: src/utility/java is compiled in
./gradlew -Ptrx.profile=pvp build       # risk sources excluded, mixins filtered
  • The server-safe base modules are registered in ModRegistry; the full catalog lives in src/utility/java/…/UtilityModules.java, loaded reflectively via ProfileBridge — so the PvP jar compiles and runs without a single utility class.
  • PvP builds exclude modules/combat|exploit|automation|seedcracker/**, all ESP/XRay/movement-risk classes, the four utility-only mixins (ReachMixin, XRayBlockMixin, ChamsMixin, EntityVelocityMixin, filtered from trxclient.mixins.json too) and platform/Knockback.
  • Watermark shows “TRXclient PVP” in the PvP jar; fabric.mod.json name becomes “TRXclient PvP”.

🎮 Usage

Key / Action Effect
Right Shift Open/close the ClickGUI (rebindable in the Theme panel)
Alt Manager button Title screen (top of the sidebar) — manage accounts, click one to switch sessions
Left click on a module Toggle it
Right click on a module Expand settings
Drag a panel header Move the panel (position is saved)
Right click on a header Collapse/expand the panel

Everything is in English; settings are generic (Boolean, Slider, Mode, Color, Text), so new modules automatically get GUI, config, keybinds and arraylist support.

🧰 Modules (95)

All modules live in the GUI panels below and support config persistence, keybinds and the arraylist.

Combat (30)

Module Description
AnchorAura Places and detonates respawn anchors with glowstone in the Overworld
AntiBots Detects server bots and ignores them in target selection
AutoCity Breaks the enemy's surround blocks so CrystalAura can hit
Aura Automatically attacks targets in range
AutoArmor Automatically equips and replaces armor
AutoBowRelease Fires the bow automatically at the configured tick
AutoClicker Automatically clicks the attack button
AutoCrystal Places and destroys end crystals automatically
BedAura Places and detonates beds in the Nether/End for burst damage
AutoLog Disconnects automatically at low health
AutoPot Automatically throws healing potions
AutoSoup Automatically eats soup at low health
AutoTotem Automatically moves totems into the off-hand
AutoTrap Traps enemies in blocks automatically
AutoXP Throws XP bottles at targets in view
BowAim Aim assist for bows with trajectory prediction
Criticals Forces critical hits on attacks
FeetTrap Walls off your own feet against explosions
HoleFill Fills holes to deny safe positions
KeepSprint Keeps sprinting after landing a hit
NoHitDelay Removes the delay between attacks
PistonCrystal Pushes crystals into the enemy hitbox with piston setups
Surround Walls your feet in with obsidian/ender chests (crystal defense, optional 2 high)
Triggerbot Attacks only what the crosshair covers (no auto-aim)
Velocity Reduces or cancels knockback (horizontal/vertical in percent)
Replenish Refills hotbar stacks from the inventory
SelfFill Places a block into your own position (burrow)
SelfTrap Builds a shell of blocks around yourself
SprintReset Resets sprint on hit for maximum knockback
ThrowPot Throws healing potions when activated

Exploits (10)

Module Description
AntiHunger Reduces hunger drain — packet mode strips sprint packets so the server never registers sprinting; tick mode breaks sprint periodically
Blink Buffers movement packets and sends them in one burst (freeze/teleport for observers)
ClickTP Teleports to the targeted block (sneak + attack)
Disabler Sends invalid packet patterns (ground spoof / motion holds) to trip anticheat
FastBreak Extra mining progress per tick with auto tool switch
NoFall Prevents fall damage
PacketFly Flight via self-built position packets (vanilla movement packets suppressed)
Phase Glides through blocks (experimental)
PortalGodMode Freezes you inside portals (server-dependent)
Reach Increases attack and block reach

Movement (17)

Module Description
BoatFly Fly with boats
ElytraFly Controlled elytra flight
EntityControl Steer horses/striders without a saddle
EntityFly Fly with mounts (horses, pigs, camels, striders — boats optional)
EntitySpeed Faster riding
FastFall Falls faster
FastSwim Swims faster
Fly Creative-style flight
Jesus Walks on water and/or lava
Parkour Jumps automatically at the last moment at block edges
SafeWalk Prevents walking off edges without slowing down
Spider Climbs vertical walls
NoSlow No slow-down while using items
Speed Increased movement speed
Sprint Sprints automatically when moving forward
Strafe Full air control over direction and acceleration
Step Steps up full blocks automatically

World (7)

Module Description
AutoTool Switches to the best hotbar tool for the targeted block (pickaxe/axe/shovel/shears, best material tier; Always or only while mining)
BlockReach Extra reach for placing and breaking only (separate from combat reach)
GhostHand Opens containers and breaks blocks through walls (voxel-DDA packet interactions)
Nuker Destroys all matching blocks in the radius (name filter list with ! exclusions, rotate + auto tool)
SchematicPrinter Auto-builds .litematic/.schem projections block by block (own NBT parser, preview outlines)
FastPlace No delay between block placements
Scaffold Bridges under your feet automatically

Misc (10)

Module Description
Announcer Chat announcements for kills
AutoFish Casts and reels the rod automatically (server-synced bite flag)
FakePlayer Spawns a local client-side test dummy for testing combat modules safely
MiddleClick Middle click throws a pearl or toggles the targeted player as friend (friends are ignored by all combat modules, stored in friends.json)
StashLogger Logs storage clusters to a file while flying bases (dimension, coords, cluster size)
AntiAFK Prevents AFK kicks
AutoEat Eats automatically at low hunger
AutoReconnect Reconnects automatically after disconnects
InventoryStealer Moves items between the opened container and your inventory — direction (Steal/Stash), item filter (whitelist/blacklist), transfer delay with jitter, auto-close and auto-open of nearby containers
Example Template with all setting types

Automation (3)

Module Description
AutoGear Bootstraps from an empty inventory to full diamond gear via Baritone (wood → planks → wooden pickaxe → stone → iron + smelting → diamond)
AutoMine Baritone mines the selected ore automatically
AutoWalk Keeps walking in the view direction via Baritone

Render (17)

Module Description
Arraylist Shows enabled modules top right with slide-in animation
BreadCrumbs Draws a line trail of your movement (through walls, configurable color/length)
Chams Renders players and mobs through walls (depth-override on 1.20.1–1.21.4, always-on-top outlines everywhere)
ChestESP Outlines containers through walls — chests, barrels, shulkers, furnaces, hoppers, brewing stands, each with its own color
ESP Draws entity bounding boxes through walls (player/mob colors, range)
Freecam Detaches the camera from your body (noclip, body stays behind)
Fullbright Client-side night vision for maximum brightness
HoleESP Highlights safe 1x1 holes: bedrock green, obsidian yellow, unsafe red
Info FPS, ping, coordinates and dimension
Nametags Player list with health and distance (HUD)
Search (BlockESP) Outlines configured blocks through walls (ores, spawners, portals) — optional legacy particles
TargetHUD Info box for the current target: name, HP bar, armor score + durability, distance, win chance
XRay Makes all blocks except the configured ores/valuables transparent (chunk re-mesh on toggle)
SeedStatus Shows the SeedcrackerX status in the HUD
Tracers Draws lines to entities through walls (color, range, limit)
Trajectories Shows the flight path of held projectiles
Watermark Client name and version in the top-left corner

Seedcracker (1)

Module Description
SeedCracker Bridges TRXclient to SeedcrackerX (seed reception, clipboard, finder reloads)

📦 Versions

Minecraft Mappings Java (runtime) Fabric API Baritone Notes
1.20.1 Yarn 17 0.92.12+1.20.1 v1.10.5 no vanilla blur API (dim only)
1.21.1 Yarn 21 0.116.17+1.21.1 v1.11.3
1.21.4 Yarn 21 0.119.4+1.21.4 v1.13.1
1.21.11 Yarn 21 0.141.6+1.21.11 v1.17.0
26.3 Mojang ("The Shift") 25 0.161.0+26.3 v1.20.0 SDL input, render-state GUI

🚀 Quick start

Build (needs nothing but a JDK — Gradle provisions the rest, incl. the Java 25 daemon JVM):

./gradlew build            # builds ALL versions
./gradlew :26.3:build      # build a single version

Finished mods land in versions/<version>/build/libs/trxclient-<version>+<mc>.jar.

Install (Prism Launcher):

  1. Create an instance for your target Minecraft version with Fabric Loader 0.19.5.
  2. Drop the matching trxclient-*.jar into instances/<name>/minecraft/mods/.
  3. Install Fabric API via the built-in Modrinth browser.
  4. Optional: Baritone — use the baritone-api-fabric-… jar (the -standalone- jar is obfuscated and lacks the API classes TRXclient needs; see the table below) and SeedcrackerX ≥ 2.16.x for 26.3.
  5. Launch — Java 17/21/25 depending on the version (Prism picks the right runtime automatically).

Run from source:

./gradlew :1.21.11:runClient   # run configs exist for the Yarn versions

🏗️ How multi-version works

Four layers keep one codebase working across a decade of Minecraft:

  1. Versioned nodes + one central build script — settings.gradle declares the versions, build.fabric.gradle is evaluated per version via sc.current, and per-version dependency pins live in stonecutter.properties.toml.
  2. Preprocessor branches — where the vanilla API diverges, //? if … branches compile exactly one variant per version (input reform, blur signatures, tick counter types).
  3. Facades for third parties — modules never import baritone.api.* directly, only BaritoneBridge (with a No-Op branch); SeedcrackerX talks to us through its own entrypoint.
  4. A stable render zone — GUI/HUD draw only through DrawContext-stable primitives plus Render2D (row-based rounded rects, no shaders).

"The Shift" / Minecraft 26.x

Since 26.1, Minecraft ships unobfuscated with official Mojang names — no more Yarn or Intermediary. 26.3 additionally replaced GLFW with SDL and moved GUI rendering to a render-state pipeline. This project handles it with:

  • dev.kikugie.loom-back-compat picking the right Loom variant per node (fabric-loom-remap 1.17.x vs fabric-loom 1.18.x),
  • a Mojang-named source overlay in versions/26.3/src/main/java/ (34 classes) overriding the shared Yarn-named code per class,
  • SDL-aware input handling (KeyEvent.key() scancode space, MouseButtonEvent buttons 1/3 normalized to GLFW semantics),
  • a Java 25 Gradle daemon (auto-provisioned from Adoptium if missing).

🧩 Dependencies at a glance

Dependency Compile time Runtime
Baritone API jar auto-downloaded from GitHub releases, modCompileOnly install baritone-api-fabric-… (NOT the -standalone- jar: it is obfuscated, has no baritone.api classes at runtime and crashes the integration)
SeedcrackerX release jar auto-downloaded, compileOnly (API package lives in the main jar) install a matching SeedcrackerX build

Both are optional — without them, automation modules and the seed status simply report "not installed".

📁 Project structure

TRXclient/
├── settings.gradle               # Stonecutter tree: which versions exist
├── stonecutter.gradle            # controller: active version, pinned Loom variants
├── build.fabric.gradle           # central build script (evaluated per version)
├── stonecutter.properties.toml   # per-version dependency pins
├── src/main/java/dev/trxclient/  # shared code (Yarn names, 1.20.1–1.21.11)
│   ├── core/                     # modules, managers, keybinds, JSON config
│   ├── settings/                 # boolean / slider / mode / color settings
│   ├── platform/Render2D         # version-safe drawing helpers
│   ├── mixin/                    # keyboard, HUD, title screen (logo, menu icons, Alt Manager button), world render, session accessors, packet/velocity/xray/chams hooks
│   ├── integration/              # Baritone & SeedcrackerX bridges
│   └── gui/                      # ClickGUI: panels, components, theme engine
├── versions/26.3/src/...         # Mojang-named overlay ("The Shift")
└── docs/logo.svg                 # project logo

📄 License

MIT — see the license file.